Связка Apache PHP MySQL в Solaris 11.3
При первом знакомстве с Solaris единственным для меня недостатком был тот факт, что пакеты которые возможно установить являются довольно устарелыми, но к счастью актуальные версии можно собрать из исходного кода. В данной публикации пойдёт речь о сборке apache и php из исходного кода(mysql можно скачать в виде готового пакета с сайта mysql.com). На момент написания данной публикации актуальная версия apache была 2.4.29, а php 7.2.3.
Сборка
Первым делом необходимо установить пакет gcc-48:
Также необходимо определить некоторые переменные для дальнейшей компиляции(сборка будет происходить 64-х битных версий):
export CPP="/usr/gcc/4.8/bin/gcc -E" export CC="/usr/gcc/4.8/bin/gcc" export CFLAGS="-m64 -std=gnu99 -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" export LDFLAGS="-m64 -L/usr/lib -R/usr/lib" export CXXFLAGS="-m64"
После перезагрузки системы данные значения необходимо заново добавить(если ещё не закончили собирать необходимые пакеты).
Загрузим необходимые архивы с исходным кодом(все действия происходят в корне файловой системы):
wget http://php.net/distributions/php-7.2.3.tar.bz2 wget http://apache-mirror.rbc.ru/pub/apache//httpd/httpd-2.4.29.tar.bz2 wget http://mirror.linux-ia64.org/apache//apr/apr-1.6.3.tar.bz2 wget http://mirror.linux-ia64.org/apache//apr/apr-util-1.6.1.tar.bz2 wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39-solaris11-x86_64.pkg.gz
tar -xvf apr-1.6.3.tar.bz2 tar -xvf apr-util-1.6.1.tar.bz2 tar -xvf httpd-2.4.29.tar.bz2 tar -xvf php-7.2.3.tar.bz2 gzip -d mysql-5.6.39-solaris11-x86_64.pkg.gz
Переименуем каталоги и пакет mysql для большего удобства:
mv mysql-5.6.39-solaris11-x86_64.pkg mysql.pkg mv apr-1.6.3 apr mv apr-util-1.6.1 apr-util mv httpd-2.4.29 apache mv php-7.2.3 php
Для корректной сборки apache также необходимо собрать два дополнительных пакета apr и apr-util, можно конечно использовать те которые имеются в составе Solaris, но в этом случаи необходимо внести значительные изменения в скрипт libtool. Первым делом соберём apr, перейдите в каталог /apr и выполните последовательно команды для конфигурации, сборки, и установки(сборку и установку необходимо производить gnu версией make). Установка будет произведена в каталог /opt, если Вам привычней производить установку в каталог /usr/local, то в этом случаи необходимо отредактировать параметр —prefix, а также указывать корректные пути при последующей сборке apache и php:
cd /apr ./configure --prefix=/opt/apr gmake gmake install
Далее необходимо собрать apr-util, а также указать в какую папку установлен apr:
cd /apr-util ./configure --prefix=/opt/apr-util --with-apr=/opt/apr gmake gmake install
Последним штрихом в установке apr будет небольшое редактирование libtool, который находиться в каталоге /opt/apr/build-1, в данном скрипте необходимо отредактировать одну строку:
Данную строку необходимо изменить, как указано ниже(удалить \$global_symbol_pipe):
После данных манипуляций apache соберётся без проблем(главное указать каталог с apr и apr-util). Будет собрана «многопоточная» версия apache:
cd /apache ./configure --prefix=/opt/apache24 --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-mpm=worker gmake gmake install
Осталось только собрать php:
cd /php ./configure --prefix=/opt/php \ --with-config-file-path=/opt/php/lib \ --with-apxs2=/opt/apache24/bin/apxs \ --with-config-file-scan-dir=/opt/php \ --without-pgsql \ --with-zlib \ --with-zlib-dir=/usr/include \ --with-iconv-dir=/usr/include \ --with-pcre-dir=/usr/include \ --with-gettext=/usr/include \ --with-libxml-dir=/usr/include/libxml2/libxml \ --with-curl \ --with-openssl \ --with-openssl-dir=/usr/include \ --with-gd \ --with-freetype-dir=/usr/include \ --with-xpm-dir=/usr/include \ --with-jpeg-dir=/usr/include \ --with-png-dir=/usr/include \ --with-gnu-ld \ --with-mhash \ --enable-shared \ --with-mysqli=mysqlnd \ --enable-zip \ --enable-ftp \ --enable-mysqlnd \ --enable-opcache \ --disable-cli \ --disable-ipv6 gmake gmake install
Если Вы производите сборку не в глобальной зоне, то Вам необходимо скопировать некоторые зависимости для корректного запуска модуля php, в примере ниже указаны файлы которые необходимо скопировать(путь до зоны укажите тот который используете Вы):
cp /usr/lib/amd64/libX11.so.4 /zones/zone1/root/usr/lib/amd64/libX11.so.4 cp /usr/lib/amd64/libXpm.so.4 /zones/zone1/root/usr/lib/amd64/libXpm.so.4 cp /usr/lib/amd64/libjpeg.so.62 /zones/zone1/root/usr/lib/amd64/libjpeg.so.62 cp /usr/lib/amd64/libXext.so.0 /zones/zone1/root/usr/lib/amd64/libXext.so.0 cp /usr/lib/amd64/libxcb.so.1 /zones/zone1/root/usr/lib/amd64/libxcb.so.1 cp /usr/lib/amd64/libXau.so.6 /zones/zone1/root/usr/lib/amd64/libXau.so.6 cp /usr/lib/amd64/libXevie.so.1 /zones/zone1/root/usr/lib/amd64/libXevie.so.1 cp /usr/lib/amd64/libXss.so.1 /zones/zone1/root/usr/lib/amd64/libXss.so.1 cp /usr/lib/amd64/libXdmcp.so.6 /zones/zone1/root/usr/lib/amd64/libXdmcp.so.6
Если Вам необходимо что то добавить дополнительно, то в этом случаи можно посмотреть все параметры сборки с помощью команды:
Последним штрихом будет установка mysql:
Конфигурирование
Осталось только добавить mysql и apache в автозапуск, настроить apache на обработку php, а также настроить mysql на корректный запуск. Для того чтобы apache корректно обрабатывал php скрипты необходимо выполнить следующею команду, данная команда добавит строку AddHandler application/x-httpd-php .php в httpd.conf:
echo "AddHandler application/x-httpd-php .php" >> /opt/apache24/conf/httpd.conf
А также изменить параметр:
DirectoryIndex index.html index.php
Следующим шагом активируем расширение для оптимизации «опкодов»(данное расширение может увеличить скорость генерации страниц в несколько раз), для этого необходимо создать файл:
touch /opt/php/ext-10-opcache.ini
А также добавить в данный файл строку zend_extension=opcache.so:
echo "zend_extension=opcache.so" >> /opt/php/ext-10-opcache.ini
Также, при необходимости, можно создать файл php.ini в каталоге /opt/php, так как php ищет файлы конфигурации именно в данном каталоге.
Для корректного запуска mysql необходимо создать каталог mysql в папке /etc, а также скопировать в данную папку файл my.cnf, а также добавить строку которая указывает имя пользователя от которого необходимо запускать mysql(root):
mkdir /etc/mysql cp /opt/mysql/mysql/my.cnf /etc/mysql/my.cnf echo "user = root" >> /etc/mysql/my.cnf
После данных манипуляций необходимо запустить mysql командой:
После установки mysql в корне файловой системы создаётся файл(.mysql_secret) с паролем по умолчанию, данный пароль используем что-бы выполнить скрипт mysql_secure_installation, в котором можно сменить данный пароль, удалить тестовые базы, удалить тестового пользователя:
/opt/mysql/mysql/bin/mysql_secure_installation
Если по каким-то причинам установщик не создал ссылку на клиент версию mysql в папке /usr/bin(запускать «mysql-client» можно будет из любого места(mysql -p -r)), то необходимо это сделать вручную:
ln -s /opt/mysql/mysql/bin/mysql /usr/bin/mysql
Осталось только добавить mysql и apache в автозапуск(level 3), а также настроить автоматическое отключение служб на level 0. Для этого создайте ссылки в двух каталогах:
ln /etc/init.d/mysql /etc/rc0.d/Kmysql ln /opt/apache24/bin/apachectl /etc/rc0.d/Kapache
Данные ссылки будут автоматически останавливать службы при отключении системы. Для автозапуска в многопользовательской среде(level 3) создайте следующие ссылки:
ln /etc/init.d/mysql /etc/rc3.d/Smysql ln /opt/apache24/bin/apachectl /etc/rc3.d/Sapache
Для большего удобства можно создать символьную ссылку на apchectl в каталоге /usr/bin:
ln -s /opt/apache24/bin/apachectl /usr/bin/apachectl
Вывод
Как видно из данной публикации отсутствие актуальных версий ПО на ос Solaris не приговор, так как всегда можно собрать необходимый софт из исходного кода, а при необходимости внести некоторые изменения для получения максимальной эффективности ПО.
Веб-сервер для Windows
Apache – это веб-сервер под Windows. На веб-сервере можно размещать сайты и открывать их на своём или на других компьютерах так, будто они находятся в Интернете.
Apache является бесплатным, у него открыт исходный код, сервер гибок в настройке.
Скачать Apache для Windows
Последней версией Apache для Windows является 2.4.54, она вышла 24 июня 2022 года.
Убедитесь, что у вас установлена последняя версия Visual C++ Redistributable for Visual Studio 2015-2022, которая необходима для работы Apache в Windows (версия 14.32.31332 и выше):
Официальный сайт Apache
Официальным сайтом веб-сервера Apache является: https://httpd.apache.org/
Но данный сайт содержит только исходный код и не распространяет бинарные (исполнимые) файлы. Если вы не можете самостоятельно скомпилировать файлы из исходного кода, то вы можете скачать их с рекомендуемого сайта.
Официально рекомендованным источником исполнимых файлов является Apache Lounge. Именно с на его файлы даны ссылки чуть выше.
Как настроить Apache на Windows
Настройка Apache выполняется в текстовых файлах, а для запуска нужно использовать командную строку – для пользователей Windows это может оказаться непривычным. Ситуация осложняется тем, что подсказки в конфигурационных файлах на английском языке, а веб-сервер в случае ошибки выводит очень мало информации.
Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.
Если вы хотите ещё быстрее получить готовый веб-сервер, то к вашим услугам сборки, которые включают все необходимые компоненты и настройки.
Особенностью Apache, PHP и других компонентов веб-сервера является то, что все эти программы являются портативными, т.е. вам достаточно скачать сборку, распаковать её, кликнуть батник для запуска служб и вы через секунду получаете рабочий, правильно настроенный веб-сервер на Microsoft Windows.
Что может веб-сервер в Windows
Веб-сервер на локальном компьютере может абсолютно всё, что умеют веб-сервера на хостингах. Веб-сервер подойдёт для разработки и тестирования сайтов и веб-приложений использующих, например, AJAX. Именно веб-сервер позволит вам работать со структурой веб-сайта так, будто бы он уже размещён на хостинге.
Вы можете подключат и использовать при тестировании и разработке:
- модули Apache (например, mod_rewrite)
- PHP (требуется дополнительная установка)
- базы данных (требуется дополнительная установка)
Версии Apache для Windows
В настоящее время актуальной веткой Apache является 2.4.*. Предыдущее поколение Apache 2.2.* является устаревшим и больше не поддерживается. Новые версии, исправления ошибок и патчи безопасности начиная с 2018 года выпускаются теперь только для Apache 2.4. Именная эта версия предоставлена для скачивания на этом сайте.
Сборка Apache + PHP + MySQL + phpMyAdmin
Если вы хотите в несколько кликов получить работающий веб-сервер Apache + PHP + MySQL + phpMyAdmin на Windows, то скачайте готовую сборку, которая включает полностью настроенный для Windows веб-сервер, который достаточно распаковать и запустить кликом по ярлыку.