Установка php5 debian. Настройка совместной работы собранного РНР и Apache
В репозиториях седьмого Дебиана оказалась только php 5.4.
Но для работы многих скриптов требуется Php 5.3. От себя добавлю, что данный блог и joomla выше 1.5 нормально работает как на php 5.4-5.6 так и на 5.3. Конечно придется настроить интерпетатор и возможно немного поправить расширения Джумлы, тогда понижение версии может быть излишним.
Возможно, вам понадобится удалить уже установленные пакеты php из стабильной ветки, если были установлены ранее. Это можно сделать командой:
Aptitude purge `dpkg -l | grep php | grep -w 5 | awk "{print $2}" | xargs`
или командой:
Apt-get remove --purge `dpkg -l | grep php | grep -w 5 | awk "{print $2}" | xargs`
Обратите внимание что при этом удаляется и вебсервер Apache, если установлен и Phpmyadmin!
Для начала нужно подключить репозитории squeeze. Открываем файл /etc/apt/sources.list редактором vim или другим (можно воспользоваться редактором Notepad++ о котором я говорил водном из постов) и добавляем:
Deb deb http:// archive.debian.org/ debian/ squeeze main deb-src http:// archive.debian.org/ debian/ squeeze main
После чего выполняем команду apt-get update .
Cмотрим, какая версия php 5.3.* доступна для установки:
apt - cache showpkg php5 Provides:5.4.4-14+deb7u7 -
5.4.4-14+deb7u5 -
5.3.28-1~dotdeb.0 -
5.3.3-7+squeeze18 -
5.3.3-7+squeeze17 -
Ну и теперь можно ставить PHP 5.3 и отдельные пакеты с помощю aptitude
Aptitude install - t squeeze php5
При этом будет предложено установить Web-сервер Apache.
Следующие НОВЫЕ пакеты будут установлены: apache2-mpm-prefork{ a} apache2-utils{ a} apache2.2-bin{ a} apache2.2-common{ a} libapache2-mod-php5{ a} libapr1{ a} libaprutil1{ a} libaprutil1-dbd-sqlite3{ a} libaprutil1-ldap{ a} libdb4.8{ a} libonig2{ a} libqdbm14{ a} libssl0.9.8{ a} php5 php5-cli{ a} php5-common{ a} ssl-cert{ a} 0 пакетов обновлено, 17 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено. Необходимо получить 12 ,9 MB архивов. После распаковки 34 ,8 MB будет занято. Хотите продолжить? [ Y/ n/ ?]
Соглашаемся и в итоге у нас будет установлен из репозитория Apache 2.2.16
После установки, все пакеты нужно будет заморозить, чтобы при установке обновлений ОС php не был обновлён до последней версии 5.4. Делается это при помощи aptitude.
Aptitude hold php5
Для того чтобы не замораживать пакеты можно создать файл /etc/apt/preferences.d/php-apache-squeeze, где прописать приоритеты:
Package: *php5*
Pin: release a=squeeze
Pin: version 5.3*
Pin-Priority: 1000
Package: *apache*
Pin: release a=squeeze
Pin: version 2.2*
Pin-Priority: 1000
Pin: release a=squeeze
- полужирным выделено имя ветки дистрибутива.
Pin: version
- версия пакетов.
Обратите внимание что в Sqeeze могут отсутствовать пакеты php5-fpm, но как модуль Апача PHP ставится нормально.
Смотрим чтобы был установлен libapache2-mod-php5
Apt-get install libapache2-mod-php5
LAMP - является набором программных продуктов, широко применяемых для создания веб-сервисов. Данный набор состоит из операционной системы Linux, одного из самых распространенных веб-серверов Apache, СУБД Mysql и скриптового языка PHP. Данная статья посвящена процедуре стандартной установки и настройки данного набора для дальнейшего использования под веб-сервисы.
В качестве операционной системы был выбран Debian 8, как один из самых популярных дистрибутивов GNU/Linux. Сам процесс установки данной операционной системы рассматриваться не будет, так как не относится к теме статьи.
Все операции по установке и настройке будут выполняться под учетной записью пользователя root.
Установка Apache
Перед началом установки необходимо выполнить команду:
Apt-get install apache2
После завершения установки веб-сервер будет готов к работе. Проверить его работоспособность можно просто, открыв в веб-браузере IP-адрес сервера, на который был установлен пакет Apache. Для версии 2.4 страница заглушка выглядит следующим образом:
Конфигурационный файл Apache, находится в /etc/apache2/apache2.conf
Директория /etc/apache2/sites-enabled/ содержит файлы конфигурации созданных веб-сервисов, а директория /etc/apache2/sites-available/ символические ссылки на файлы конфигураций веб-сервисов, которые на данный момент включены.
С помощью данных файлов конфигураций можно управлять настройкой виртуальных хостов. Сервер Apache позволяет размещать несколько виртуальных хостов (сервисов) на одном сервере. По умолчанию все содержимое веб сервисов располагается в папке /var/www. Размещение содержимого можно изменять, указав это в конфигурационном файле виртуального хоста, за это отвечает директива DocumentRoot.
Рассмотрим создание простейшей веб странички с надписью “Hello World”. Для начала создадим папку, где будет храниться содержимое. Для этого выполним команду:
Mkdir /var/www/helloworld.net
В данной папке создадим простейший html файл index.html следующего содержания:
This is a test page.
После того как содержимое простейшей странички присутствует, необходимо создать конфигурационный файл виртуального хоста. Для этого в папке /etc/apache2/sites-available/ создадим файл helloworld.net.conf (не забудьте про расширение conf) со следующим содержимым:
Здесь присутствуют параметры:
- ServerName – доменное имя виртуального хоста (нашей странички);
- ServerAdmin – адрес электронной почты администратора;
- ServerAlias – псевдоним виртуального хоста (доменное имя хоста с добавлением www);
- DocumentRoot – место, где хранится содержимое самого сервиса;
- CustomLog - название файла журнала доступа с сервису;
- ErrorLog – название файла журнала ошибок.
Подробное описание всех параметров и их значений в конфигурационном файле можно посмотреть в официальной документации(http://httpd.apache.org/docs/2.4).
Следующим шагом необходимо включить наш виртуальный хост. Это можно сделать как просто создав символическую ссылку:
Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf
Также включение и выключение виртуальных хостов можно выполнять, применяя команды a2ensite и a2dissite соответственно.
Для включения:
A2ensite helloworld.net
Для выключения:
A2dissite helloworld.net
После включения хоста, необходимо перезапустить сервер Apache:
/etc/init.d/apache2 restart
Теперь можно проверить работу созданной странички.
Для проверки страницы, возможно, на компьютере, с которого осуществляется проверка понадобиться добавить строчку в файл hosts:
Xxx.xxx.xxx.xxx helloworld.net
Где xxx . xxx . xxx . xxx – это IP-адрес сервера с установленным Apache. Файл hosts, находится:
- C:\Windows\System32\drivers\etc (в Win7);
- /etc/hosts (в Debian).
Установка PHP
Следующий шаг – это установка скриптового языка PHP. Установка осуществляется командой:
Apt-get install php5
Теперь необходимо проверить работу PHP. Для этого добавим в папку с содержимым сайта (/var/www/helloworld.net) файл test.php. В данный файл необходимо написать следующее:
Следует отметить, что существует модуль PHP под сервер Apache. Этот модуль позволяет Apache и PHP работать более эффективно. Проверить установлен ли модуль можно:
Dpkg -l | grep libapache2-mod-php5
Если модуля нет, то его надо установить:
Apt-get install libapache2-mod-php5.
Проверить подключен ли модуль в самом сервере Apache можно следующим образом:
Ls -l /etc/apache2/mods-enabled/ | grep php5
Должно появиться следующее:
Lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.load -> ../mods-available/php5.load
Если модуль не включен, его по аналогии с виртуальными хостами можно включить командой
A2enmod php5
Выключается модуль командой a2dismod.
Установка mysql
Последним шагом к подготовке среды для работы с веб-сервисами является установка СУБД mysql. Установка осуществляется командой:
Apt-get install mysql-server php5-mysql
В процессе установки необходимо будет ввести пароль для пользователя root.
После завершения установки проверить работу mysql можно подключившись к самой СУБД.
Mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 43 Server version: 5.5.49-0+deb8u1 (Debian) … mysql>
На этом базовая подготовка сервера завершена. Дополнительно для управления базой данных можно еще установить утилиту phpmyadmin.
Apt-get install phpmyadmin
При установке нужно указать сервер с которым будет производиться работа, это позволит программе установке автоматически настроить утилиту для работы с данным сервером.
Также можно ответить положительно на предложение о настройке базы данных.
И несколько раз ввести пароль для администратора базы данных (тот что был указан для root пользователя при установке mysql).
После завершения установки phpmyadmin. Его работу можно проверить перейдя по ссылке http://localhost/phpmyadmin (если браузер открывается с того же сервера) или по ссылке http://xxx.xxx.xxx.xxx/phpmyadmin с другого компьютера, где xxx.xxx.xxx.xxx – это IP-адрес сервера.
Для входа необходимо использовать логин и пароль, заданные при установке mysql.
Хотелось бы рассказать как я устанавливал apache2 c php5 и mysql, а так же phpmyadmin на Debian, Ubuntu и Linux Mint в своей статье «Установка Apache2 с PHP5 и MySQL + phpmyadmin для Debian/Ubuntu/Mint». У меня установлен Debian, работать будет так же на Ubuntu и Linux Mint.
Я использую my_server.example.net — это доменное имя с 192.168.16.66- это его айпишник. Они будут отличны от ваших, и их можно настроить под себя. А посмотреть можно вот так:
# vim /etc/hosts [...] 192.168.16.66 my_server.example.net [...]
Я буду запускать все команды с привилегиями суперюзера, поэтому убедитесь, что вы вошли в вашу систему как администратор (root):
Установка Mysql
Когда я начал писать эту статью, то последняя версия mysql была 5, сейчас установим:
# apt-get install mysql-server mysql-client
В ходе установки, попросят ввести пароль для MySQL (для полного доступа, для рута) — это пароль будет одинаков как для root@localhost, так и для root@my_server.example.net. Его нужно ввести 2 раза.
Еще полезные статьи по теме:
1. 2. 3.
4.
5.
Установка apache2
Apache2 содержится в репозитории Ubuntu, как пакет, по этому я могу установить следующим образом:
# apt-get install apache2
После того как завершится установка, нужно перейти в свой браузер на http://ip_server_or-IP (у меня это http://my_server.example.net), и вы должны увидеть страницу приветствия Apache2 (Это работает!), на английском «It’s works!». По этому если вы это увидели, то сервер работает нормально.
Домашняя директория с apache-м, по умолчанию, находится в /var/www на Debian, и файл конфигурации лежит в /etc/apache2/apache2.conf. Дополнительные конфигурации хранятся в подкаталогах, в таких как /etc/apache2/mods-enabled (для модулей Apache), /etc/apache2/sites-enabled (для виртуальных хостов), и /etc/apache2/conf.d.
Установка PhP5
Мы можем установить пхп и модуль для работы вот так:
# apt-get install php5 libapache2-mod-php5
Перезапускаем веб сервер чтобы все что установили вступило в силу:
Для того чтобы убедится что все хорошо работает у нас, нужно создать файл в домашней директории апача (если вы не меняли то он находится по пути /var/www) и добавим php код который будет выводить полезную информацию о установленных приложения (php, apache, модули и тд):
# vim /var/www/php_info.php
Открываем браузер и переходим на этот файл:
http://your_ip/php_info.php
Вы должны увидеть некоторые данные на экране. Чтобы была поддержка MySQL в PHP,нужно установить php5-mysql пакет. Сейчас я установлю полезные модули, по этому, если нужны они вам, то устанавливайте (они не помешают), так же можно выбрать самое необходимое и не ставить все что я ставлю себе.
# apt-cache search php5
Выберите те, которые вам нужны, и установить их так:
# apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-suhosin
Я установлю все перечисленное, оно не помешает мне. В этой установке содержатся модули для работы с шифрованием + для работы с кешем (улучшение работы пхп) + поддержка sqlite и еще много чего. Я не буду описывать каждый из них, если уж очень нужно будет, то напишите и я добавлю описание каждого из них и вам станет понятно, но гугл еще работает =)
Теперь перезагрузите сервер:
# /etc/init.d/apache2 restart
XCache — модуль для кэширования и оптимизации промежуточного кода PHP. У него есть пару аналогов, таких как Eaccelerator и APC. Я рекомендую, чтобы хотя бы один из них был установлен у вас он должен ускорить работу ваших страниц которые написаны на PHP.
XCache можно установить следующим образом:
# apt-get install php5-xcache
Перезапускаем апач:
# /etc/init.d/apache2 restart
Чтобы посмотреть весь список установленных модулей, выполните:
# php -m
Теперь перезагрузите страничку с нашим php_info в вашем браузере и прокручиваем вниз до раздела модулей. Теперь вы должны найти много новых модулей там, в том числе модуля MySQL.
Установка phpmyadmin
Если нужно установить именно phpmyadmin для работы с вашими базами, то сейчас мы это сделаем:
# apt-get install phpmyadmin
Мастер установки спросит какой веб -сервер вы используете (Web server to reconfigure automatically ): выбираем apache2, есть так же еще lighttpd. На следующий вопрос «Configure database for phpmyadmin with dbconfig-common ?» — отвечаем No. Хотя можно нажать и Yes, тогда установщик спросит пароль для пользователя admin (нужен для входа в phpmyadmin).
Чтобы начать пользоваться phpmyadmin, нужно открыть в браузере:
http://yourIP_or_server/phpmyadmin/
Вводим в поле логин «root», пароль вводим такой как вы создали для mysql.
Настройка mysql
попозже будет(через пару дней)
Настройка apache2
Тут я буду рассказывать основные настройки веб-сервера апач, но по мере возможности. Я с каждым разом редактирую данную статью и добавляю что — то новое в описание.
Виртуальные хосты (Virtualhosts).
Хочу начать я свою настройку с создания и настройки Virtualhosts (виртуальных хостов). Есть много разных способов чтобы создать виртуальные хосты, но я бы посоветовал данный метод (поискав и перебрал много вариантов и литературы, я выбрал именно его).
По умолчанию, веб-сервер апач «слушает» все IP-адреса которые доступны для виртуального сервера. Это не есть хорошо, по этому нужно подредактировать и настроить его на прослушивание только определенного ИП-адреса. Даже если Вы имеете только один IP адрес!
Делаем изменение в файле ports.conf:
# vim /etc/apache2/ports.conf [...] NameVirtualHost 192.168.16.66:80 [...]
Измените данный ИП-адрес на свой!
Делаем изменение в файле default:
# vim /etc/apache2/sites-available/default
Теперь я создам 1 виртуальный хост в качестве примера:
# vim /etc/apache2/sites-available/test
Создадим папки которых нет:
# mkdir -p /var/www/192.168.16.66/ # mkdir -p /var/www/192.168.16.66/public_html # mkdir -p /var/www/192.168.16.66/logs
После всех изменений, нужно подключить данный домен в apache:
# a2ensite test
И перезагрузить веб-сервер:
# /etc/init.d/apache2 reload
Можно отключить данный сайт (виртуальный хост test)следующей командой:
# a2dissite test
Чтобы проверить работает ли все нормально, я скопирую файл (php_info):
# cp /var/www/php_info.php /var/www/192.168.16.66/public_html/
Можно открыть браузер и перейти:
http://192.168.16.66/php_info.php
Настройка PHP5
Все изменения нужно проводить в конфигурационном файле php.ini, сейчас мы его немного поправим:
# vim /etc/php5/apache2/php.ini [...] max_execution_time = 30 memory_limit = 64M error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR display_errors = Off log_errors = On error_log = /var/log/php.log register_globals = Off [...]
Вот и все, данная тема «Установка Apache2 с PHP5 и MySQL + phpmyadmin для Debian/Ubuntu/Mint» полностью раскрыта, можно использовать наш установленный LAMP.
Для различных версий Debian по умолчанию из репозитория устанавливаются различные версии РНР. Так при выполнении из консоли сервера с Debian 8 команды apt-get update && apt-get install php5 будет установлен пакет РНР версии 5.6, при выполнении той же команды на Debian 7 будет установлен пакет с версией 5.4.
Установка PHP Debian 8 (версии 5.6 и 5.4)
Для того чтобы установить PHP. 5.6 на Debian 8 достаточно выполнить одну команду
Предварительно обновляем список подключенных репозиториев
Выполем установку пакета
После установки можно проверить версию выполнив команду php -v (выведется версия php-cli) или создать в корне любого сайта на сервере файл phpinfo.php, в который поместить код на PHP: . При обращении к файлу через браузер будет выведена используемая версия РНР вместе с другими настройками.
Даунгрейд PHP на Debian 8 Jessie
В некоторых случая необходимо, чтобы на одном сервере работали сайты использующие разные версии РНР или версия РНР, которая для данной операционной системы не является используемой по умолчанию. Для примера рассмотрим сборку и установку РНР 5.4. РНР 5.6 при этом удалим.
Собирать пакет будем в другом каталоге, но исходники скачаем в /opt
Скачиваем исходники с официального сайта
wget http://museum.php.net/php5/php-5.4.9.tar.gz
Распаковываем архив и переходим в каталог одноименный версии РНР
tar -xzvf php-5.4.9.tar.gz
Устанавливаем пакеты, которые потребуются для компиляции предварительно обновимв список репозиториев
apt-get install apache2-dev
apt-get install libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev libldap2-dev libxslt-dev
apt-get install build-essential
Создадим каталог под скомпилированный пакет
Теперь удаляем PHP 5.6
apt-get remove php5-cgi php5-cli php5-common
Последняя команда выведет все пакеты на сервере, имеющие в имени php5, если apt-get remove php5-* не справился со своей задачей удаляем все пакеты из вывода dpkg -l | grep php5 вручную
apt-get remove php5-apcu php5-cgi php5-cli php5-common php5-curl php5-gd php5-imagick php5-json php5-mcrypt php5-mysql
apt-get autoremove php5-*
Убеждаемся в том, что никаких пакетов не осталось
Теперь можно перейти в каталог с исходниками и приступить к сборке
./configure —prefix=/usr/local/php/ —with-config-file-path=/usr/local/php/ —with-pdo-pgsql —with-zlib-dir —enable-mbstring —with-libxml-dir=/usr —enable-soap —enable-calendar —with-curl —with-zlib —with-gd —with-pgsql —disable-rpath —enable-inline-optimization —with-zlib —enable-sockets —enable-sysvsem —enable-sysvshm —enable-pcntl —enable-mbregex —with-mhash —enable-zip —with-pcre-regex —with-mysql —with-pdo-mysql —with-mysqli —with-png-dir=/usr —enable-gd-native-ttf —with-fpm-user=nginx —with-libdir=lib64 —enable-ftp —with-kerberos —with-gettext —with-gd —with-jpeg-dir=/usr/lib/
Можно использовать при сборке дополнительные компоненты, часть из представленных удалить.
При установка завершена успешно в выводе будет соответствующая надпись и путь к основным файлам, в т.ч. к бинарному файлу
Обратившись к нему из консоли можно увидеть установленную из исходником версию РНР
/usr/local/php/bin/php-cgi -v
Копируем из каталога с исходными кодами файл php.ini с настройками РНР
cp php.ini-production /usr/local/php/lib/php.ini
Проверяем версию
/usr/local/php/bin/php-cgi -v
PHP 5.4.9 (cgi-fcgi) (built: Jun 17 2017 15:58:19)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Настройка совместной работы собранного РНР и Apache
Теперь необходимо дать понять веб-серверу, обрабатывающему пользовательские запросы, что необходимо использовать только что установленный в систему пакет
Смотрим используется на сервере модуль РНР, fcgid или php-fpm. В данном случае заранее известно, что у нас fcgid
apache2ctl -M | grep fcgid
fcgid_module (shared)
Просматриваем конфигурационный файл
less /etc/apache2/conf-enabledphp-fcgi.conf
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
Order Deny,Allow
Deny from all
Order Deny,Allow
Deny from all
ScriptAlias /cgi-wrapper /var/www/web/cgi-bin/
Action application/x-httpd-php «/cgi-wrapper/php»
SetHandler fcgid-script
Order allow,deny
Allow from all
Из его содержимого видно, что обработчик скриптов подключается за счет файла /var/www/web/cgi-bin/php
Просматриваем его и видим, что в файле указывается бинарник, за счет которого и обрабатываются скрипты
less /var/www/web/cgi-bin/php
#!/usr/local/php/bin/php-cgi
Заменяем его и видим при помощи echo на тот, что указывался в выводе make
echo «#!/usr/local/php/bin/php-cgi» > /var/www/web/cgi-bin/php
Обращаясь к phphinfo теперь можем видеть, что цель достигнута и на Debian 8 работает РНР 5.4
Расширения PHP. которые не использовались при сборке можно собрать отдельно и подключить в php.ini
Раздел содержит информацию и подсказки, относящиеся к установке PHP на » Debian GNU/Linux .
Внимание
Неофициальные сборки от третьих лиц не поддерживаются. О любых ошибках следует сообщать разработчикам Debian, но перед этим стоит проверить, возможно они уже исправлены в новых релизах, которые можно скачать на .
Хотя и существует универсальная инструкция по установке PHP на Unix/Linux, в этом разделе мы рассмотрим особенности специфичные для Debian, такие как использование команд apt-get или aptitude . В рамках этого руководства обе эти команды рассматриваются как взаимозаменяемые.
Использование APT
Во первых, обратите внимение на то, что некоторые пакеты связаны: libapache2-mod-php5 нужен для интеграции с Apache 2, и php-pear с PEAR.
Во-вторых, перед установкой убедитесь, что список пакетов находится в актуальном состоянии. Как правило, это делается с помощью команды apt-get update .
Пример #1 Пример установки Apache 2 на Debian
# apt-get install php5-common libapache2-mod-php5 php5-cli
APT автоматически установит модуль PHP 5 для Apache 2 и все их зависимости и, затем, активирует их. Apache должен быть перезапущен для того, чтобы изменения вступили в силу. Например:
Пример #2 Остановка и запуск Apache после установки PHP
# /etc/init.d/apache2 stop # /etc/init.d/apache2 start
Контроль конфигурации
Изначально, PHP устанавливается только с основными модулями ядра. Если вы хотите установить дополнительные модули, такие как MySQL , cURL , и т.д., это также можно сделать с помощью команды apt-get .
Пример #3 Способы получить список дополнительных пакетов PHP 5
# apt-cache search php5 # aptitude search php5 # aptitude search php5 |grep -i mysql
Будет выведен список большого числа пакетов, включая несколько специфичных, таких как php5-cgi, php5-cli и php5-dev. Определите, какие вам нужны и установите с помощью apt-get или aptitude . И, так как Debian производит проверку зависимостей, вам будет выведен запрос на их установку.
Пример #4 Установка PHP с MySQL и cURL
# apt-get install php5-mysql php5-curl
APT автоматически добавит необходимые строки в соответствующие php.ini , /etc/php5/apache2/php.ini , /etc/php5/conf.d/pdo.ini , и т.д. В зависимости от модуля, будут внесены записи типа extension=foo.so . В любом случае, чтобы эти изменения вступили в силу, необходимо будет перезапустить сервер веб-сервер.
Стандартные проблемы
- Если скрипты PHP не разбираются веб-сервером, то скорее всего это означает, что PHP не был добавлен в конфигурацию веб-сервера. На Debian это обычно /etc/apache2/apache2.conf или похожий. Смотрите документацию Debian для выяснения подробностей.
- Модуль, по-видимому, установлен, а его функции все равно не распознаются. В таком случае убедитесь, что соответствующий ini-файл был загружен и/или веб-сервер был перезагружен после установки модуля.
- Для установки пакетов в Debian существуют две основных команды (не считая стандартных вариантов Linux): apt-get и aptitude . Объяснения их синтаксиса, особенностей и отличий друг от друга выходит за рамки данного руководства.
While the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.
Thank you!
2 years ago
Compiling PHP on Ubuntu boxes.
If you would like to compile PHP from source as opposed to relying on package maintainers, here"s a list of packages, and commands you can run
STEP 1:
sudo apt-get install autoconf build-essential curl libtool \
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
libreadline-dev libzip-dev libzip4 nginx openssl \
pkg-config zlib1g-dev
So you don"t overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live
Mkdir -p ~/bin/php7-latest/
STEP 2:
# download the latest PHP tarball, decompress it, then cd to the new directory.
STEP 3:
Configure PHP. Remove any options you don"t need (like MySQL or Postgres (--with-pdo-pgsql))
./configure --prefix=$HOME/bin/php-latest \
--enable-mysqlnd \
--with-pdo-mysql \
--with-pdo-mysql=mysqlnd \
--with-pdo-pgsql=/usr/bin/pg_config \
--enable-bcmath \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-mbstring \
--enable-phpdbg \
--enable-shmop \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-zip \
--with-libzip=/usr/lib/x86_64-linux-gnu \
--with-zlib \
--with-curl \
--with-pear \
--with-openssl \
--enable-pcntl \
--with-readline
STEP 4:
compile the binaries by typing: make
If no errors, install by typing: make install
STEP 5:
Copy the PHP.ini file to the install directory
Cp php.ini-development ~/bin/php-latest/lib/
cd ~/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
STEP 7:
create symbolic links for your for your binary files
Cd ~/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm
STEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version
# add this to .bashrc
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
STEP 9: Start PHP-FPM
Sudo ~/bin/php7/sbin/php-fpm
5 years ago
To install LAMP stack on Ubuntu (+Server) from 10.04 you need first install taskel and then lamp-server for example:
Install taskel, follow terminal guides:
sudo apt-get install tasksel
Install LAMP stack package from Ubuntu repository:
sudo tasksel install lamp-server