Публикации

Как реализовать рекурсивный запуск PHP на хостинге?

Имеется хостинг на котором max_execution_time = 30, exec и system отключены. Нужно спарсить где-то 200-300 страниц, при этом скрипт должен вызывается по крону через определенное время. Решил сделать через рекурсию, что-то вроде $var1 = $_GET[«var1»];… curl_setopt($ch, CURLOPT_URL,«domain.com/myphp.php?var1=»....); curl_exec($ch);
Но проблема в том, что все отработавшие скрипты остаются «висеть», ожидая ответа, что сильно тормозит весь процесс, да и больше 5 скриптов не дает… Как настроить курлы, чтобы они не ждали ответа? Или может быть есть какие-то более практичные альтернативы?

ISPConfig как поменять структура сайта?

Как настроить ISP Config что бы создаваемые панелью сайты имели иную структуру.
По умолчанию, корень сайта и веб-приложения совпадает, однако требуется что бы корень сайта был подпапкой веб-приложения
Делаю для приложений на Yii2
т.е.

Веб-приложение ставится в /home/site
В конфиг (к примеру) апача пишется
DocumentRoot /home/site/web
а так же чтобы
open_basedir=/home/site

Как лучше настроить сервер для (Rails + PostgreSQL, PostGIS) + (PHP + MySQL) + Mapnik?

Здравствуйте. В связи с ростом нагрузки был приобретен сервер HP DL360 G6 (Xeon E5504 2.0 GHz, 20 Gb DDR3, SAS 300 Gb 10000 x 4).
Планируется разместить:
1. Apache + PHP + Passenger
2. Ruby on Rails + PostgreSQL + PostGIS
3. сайт на PHP + MySQL
4. Mapnik + Renderd + TileCache
Раньше все это работало на обычном десктопном компьютере с Intel Core i7, 8Gb DDR3. Но после того как география расчетов разрослась нагрузка ЦП ушла в 100%. С установкой всего вышеперечисленного проблем не возникнет, опыт есть.
Вопрос в том, как лучше построить работу самого сервера? Есть мысль развернуть виртуальные машины (правда опыт есть только с Microsoft Hyper-V) отдельно под веб сервер, отдельно под БД, отдельно под бэкапы. И дополнительно бэкапить сами ВМ. В таком случае вижу много плюсов в обслуживании но не знаю сколько ресурсов съест оболочка управления и какую систему виртуализации выбрать под задачи.
Или установить Ubuntu Server и в ней развернуть все перечисленное ПО. Прошу поделиться опытом в решении таких вопросов.

Как подключить java-сервер к внешнему сетевому интерфейсу в Linux?

Запускаю простой echo-сервер на linux centos:
ServerSocket server = new ServerSocket(portNumber);
или
ServerSocket server = new ServerSocket(portNumber, 10, InetAddress.getLocalHost());

В консоли получаю, например:
SERVER :: created Se>rverSocket[addr=vm531350/_serverip_,localport=8080]

При любых раскладах netstat -anp выдает:
tcp 0 0 :::8080 :::* LISTEN 27285/java
либо
tcp 0 0 ::ffff:_serverip_:8080 :::* LISTEN 27285/java

Сервер пингуется нормально, через telnet с другого компьютера все приходит, проверял через tcpdump. Но подключения, именно, к java программе не происходит.
То есть это сокет слушается локально, я правильно понимаю? Как переключится на внешний интерфейс?

Файл hosts:
_serverip_ vm531350 vm531350 localhost
::1 vm531350 vm531350 ip6-localhost
_serverip_ vm531350
_serverip6_ vm531350

Физическое подключение сервера доступа в интернет из локальной сети?

Доброго времени!

Пытаюсь решить задачу организации сети с сервером доступа.
Имеем:
1. Сервер с одним Ethernet портом
2. Time capsule от apple с wan портом и 4 lan и wifi.
3. Провод витая пара из щитка по которой приходит интернет от провайдера. Подключение по PPPoE.
4. Куча различных устройств, преимущественно с wifi подключение

Хочу чтобы сервер решал кому предоставлять доступ в интернет, а кому нет, исходя из заданного алгоритма. Это как одна из функций.

Проблема в том, что я не понимаю физическую схему подключения.
Первый вариант: купить еще лан карту. Воткнуть интернет в первую. Сервером подключаться, делать всё что мне нужно и через вторую пересылать всё на time capsule которая уже будет в режиме моста подключать всех потребителей.
Второй и который мне хочется реализовать: time capsule воткнуть в интернет первой, так же настроить на режим моста и каким то образом настроить та кчтобы трафик шел через сервер. Возможно путем подключения провода провайдера в лан порт, а провода сервера в Ваня порт.

Вопрос: Второй вариант в принципе возможен? Если возможен прошу наталкнуть на нужную мысль. Спасибо.

Как побороть ошибку «Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.»?

Имеется домашний сервер на CentOS 7 (изучаю на нём линукс), хочу поднять на нём веб сервер, всё поставил (mysql, apache, php, phpmyadmin), так всё норм работает, но когда пытаюсь настроить виртуальные хосты, то появляется данная ошибка при запуске/рестарте apache (apachectl restart):

Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
Так же апач перестаёт запускаться, если поставить mod_ssl, та же самая ошибка вылазит.

Файл httpd.conf
pastebin.com/nDnBiKGq

systemctl status httpd.service -l
httpd.service — The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: failed (Result: exit-code) since Пт 2015-06-26 17:19:42 MSK; 2min 1s ago Process: 2942 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 2940 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 2940 (code=exited, status=1/FAILURE) июн 26 17:19:42 server.home systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE июн 26 17:19:42 server.home kill[2942]: kill: cannot find process "" июн 26 17:19:42 server.home systemd[1]: httpd.service: control process exited, code=exited status=1 июн 26 17:19:42 server.home systemd[1]: Failed to start The Apache HTTP Server. июн 26 17:19:42 server.home systemd[1]: Unit httpd.service entered failed state.
Читать дальше

В sh скрипте, вынуть все строки кроме одной из файла и вставить в команду?

Уважаемое сообщество, здравствуйте.

Подскажите пожалуйста как сделать такую конструкцию:

Мне нужно все строки из файла (subscriptions), кроме строки содержащей слово (Spam)
grep -v -w «Spam» /var/www/site/.maildir/subscriptions
прогнать через команду
sa-learn --ham /var/www/site/.maildir/cur/«Сюда вставить строки по одной»

гуглю, вроде и нашел но не могу разобраться как вставить именно по одной строке или может есть способ лучше сделать это?

Заранее всем благодарен и большое спасибо!

Как правильно перевести всю инфраструктуру на виртуализацию?

Добрый день, господа.
Я тщетно пытался сам разобраться в текущей ситуации, но чувствую, что без коллективного разума и без опыта не получится.
Вопрос будет большим, во всяком случае так кажется, и разносторонним. Начну, пожалуй.

Как все работает сейчас?
Есть три сервера HP ProLiant DL360e Gen8:
1. E5-2403, RAM 3х4, HDD 2x1Tb
2. E5-2403, RAM 2х4, HDD 2x4Tb
3. E5-2403, RAM 2х4, HDD 2x4Tb

На всех серверах Windows Server 2012.
На первом роли DC, DNS, DHCP; второй в роли файлового сервера; на третьем все резервные копии первых двух.
Есть еще два сервера, собранных на коленке, один в роли прокси-сервера (Kerio Control), второй с приблудами Гарант/Консультант на базе Windows Server.

В сети около 80 пользователей, МФУ, пара вай-фай точек.
Маршрутизаторов нет, есть три коммутатора.
Читать дальше

Почему не стартует локальная сеть на виртуальной машине?

Добрый день! Имеется сервак 2008R2 Standart sp1. на нем поднят Hyper-V. На нем крутятся 3 машины: 2 Centos 7(DNS и LDAP) и Centos 6(OpenVPN). В офисе частенько отключают электричество(раз в сутки). UPS стоит.
При запуске сервера на OpenVPN не поднимается локальная сеть, до тех пор пока не подключишься через консоль Hyper-V к машине. После авторизации на сервере появляется локальная сеть, интернет, SSH, но OpenVPN приходится запускать в ручную. OpenVPN поднимал не я, поэтому приходится админить что есть. На остальных машинах все запускается как положено.
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
openvpn 0:off 1:off 2:on 3:on 4:on 5:on 6:off
TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME=«Wired connection 1» UUID=13f5cc30-1623-4b0b-8e1e-8ebd05a8b0c2 ONBOOT=yes LAST_CONNECT=1434943700
В чем может быть причина не работающей сети?!

Почему не ставится yum install php-pecl-geoip?

yum install php-pecl-geoip выдает ошибки.

yum install php-pecl-geoip Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: mirror0.babylon.network * epel: mirror0.babylon.network * extras: mirror0.babylon.network * updates: mirror0.babylon.network Resolving Dependencies --> Running transaction check ---> Package php-pecl-geoip.x86_64 0:1.0.8-3.el6 will be installed --> Processing Dependency: php(zend-abi) = 20090626 for package: php-pecl-geoip-1.0.8-3.el6.x86_64 --> Processing Dependency: php(api) = 20090626 for package: php-pecl-geoip-1.0.8-3.el6.x86_64 --> Finished Dependency Resolution Error: Package: php-pecl-geoip-1.0.8-3.el6.x86_64 (epel) Requires: php(api) = 20090626 Installed: php-common-5.4.42-1.el6.remi.x86_64 (@remi) php(api) = 20100412-x86-64 Available: php-common-5.3.3-38.el6.x86_64 (base) php(api) = 20090626 Available: php-common-5.3.3-40.el6_6.x86_64 (updates) php(api) = 20090626 Error: Package: php-pecl-geoip-1.0.8-3.el6.x86_64 (epel) Requires: php(zend-abi) = 20090626 Installed: php-common-5.4.42-1.el6.remi.x86_64 (@remi) php(zend-abi) = 20100525-x86-64 Available: php-common-5.3.3-38.el6.x86_64 (base) php(zend-abi) = 20090626 Available: php-common-5.3.3-40.el6_6.x86_64 (updates) php(zend-abi) = 20090626 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest