Установка Php На Ubuntu

За что? Это самый первый вопрос, который задаст большинство людей.

Я отвечу: 1) Дефолтный php без часто необходимых вещей типа pcntl, а также с скомпилированным генератором неизвестная совокупительная чушь Патч Сухосин.

2) Сборка модулей, которых нет в репозитории.

3) Мануалов такого типа нет. Нет, правда нет, только короткие руководства, которые с оговоркой можно назвать логом .

/configure && make && make install, и которые сложно собрать из-за требований дополнительных библиотек.

4) Про вентилятор писать не буду.

Просто не буду, потому что.

Мы не балуемся, мы собираем продукт для работы.

Многие сочтут это плюсом, но не я.

5) Неожиданно встал вопрос о сборке вашего модуля.

Навыки сборки для Никса очень помогли в сборке для Windows, где и писалось расширение.

Конечно, можно было сразу написать под никсами.

Но мне не хотелось ставить и настраивать кастомные никсы только ради одного проекта (разрабатывать в консоли на удалённом сервере как-то не особо приятно).

Начнем установку Создайте каталог и перейдите в него:

 mkdir build
 cd build
Сначала выбираем из репозитория компилятор, набор утилит для сборки wget и набор библиотек, которые нам понадобятся для сборки PHP (ну и zlib для apache, если собирать с помощью mod_deflate):
 sudo apt-get install build-essential wget autoconf zlib1g-dev libxml2-dev libcurl4-openssl-dev libpng-dev libmcrypt-dev libmhash-dev libmysqlclient15-dev libtidy-dev libmemcache-dev 
На чистом сервере Ubuntu для apt-get потребуется загрузить около 85 МБ.

Мы установим его в /opt, чтобы не путать с файлами дистрибутива.

Приступаем к сборке Apache Ничего комментировать не буду, потому что.

здесь все прозрачно и в комментариях не нуждается.

 wget  http://www.sai.msu.su/apache/httpd/httpd-2.2.12.tar.bz2 
 bunzip2 httpd-2.2.12.tar.bz2
 tar -xf httpd-2.2.12.tar
 cd httpd-2.2.12/
 .

/configure --prefix=/opt/apache2 --exec-prefix=/opt/apache2 --enable-mods-shared=all --enable-suexec make sudo make install cd .

Установка PHP Да, его модули требуют кучу зависимостей.

Настроил СУБД для MySQL/SQLite; для других соберите его самостоятельно.

Не нужно бояться добавлять сюда лишнее — на производительность это не повлияет.

 wget  http://ru2.php.net/distributions/php-5.2.10.tar.bz2 
 bunzip2 php-5.2.10.tar.bz2
 tar -xf php-5.2.10.tar 
 cd php-5.2.10
 .

/configure --prefix=/opt/php5.2 --with-apxs2=/opt/apache2/bin/apxs --enable-fastcgi --with-curl --enable-ftp --with-gd --enable-mbstring --with-mcrypt --with-mhash --with-mysql --with-sqlite --with-mysqli --enable-pcntl --with-pdo-mysql --enable-shmop --enable-soap --enable-sockets --enable-sqlite-utf8 --with-tidy --enable-zip --enable-mbregex --enable-ctype make sudo make install cd .

Несколько слов об опциях.

PHP-разработчик должен знать, что означают эти модули (вариант, начинающийся с --with-curl), а те, кто не является разработчиком, но кому волею судьбы пришлось настраивать сервер, должны просто поверить, что они более или менее оптимально и ничего нужного типа pdo или mysqli не вырезается, как это иногда бывает. То же самое относится и к конфигурации php.ini. Редактируем конфигурацию Apache

 sudo vim /opt/apache2/conf/httpd.conf
Я заменяю значение DocumentRoot на «/var/www», добавляю index.php в DirectoryIndex, добавляю AddType application/x-httpd-php .

php. Создайте phpinfo.php с содержимым и наслаждайтесь видом ненастроенного PHP (запустите Apache через /opt/apache2/bin/apachectl start).

Настройка PHP Скопируйте php.ini по умолчанию и отредактируйте его:

 sudo cp php.ini-dist /opt/php5.2/lib/php.ini
 sudo vim /opt/php5.2/lib/php.ini
Отредактируем эти параметры (даже не буду заикаться о том, что они означают): error_reporting = E_ALL Включаем display_errors для отладки, но отключаем на боевой раскладке.

log_errors = Вкл.

post_max_size = 64M (для типичных задач это больше) Magic_quotes_gpc = Выкл.

(и почему они включаются молча? понятия не имею) include_path=".

:/opt/php5.2/lib/php" (тут я помещал ZF и другие интересные вещи) upload_max_filesize = 64M (равен post_max_size) Я вам скажу, что в Виме поиск осуществляется по "?" Автоматический запуск Во-первых, давайте удалим Apache по умолчанию из автозагрузки; нам поможет удобная утилита rcconf (она проще в использовании, чем update-rc.d, я привык ею пользоваться):

 sudo apt-get install rcconf
 sudo rcconf
Снимите флажок.

Ну и останавливаем Apache, чтобы не перезагружаться:

 sudo /etc/init.d/apache2 stop
Теперь в rc.local добавляем строку запуска нашего Apache, что позволит ему запускаться при запуске:
 sudo vim /etc/rc.local
Строка запуска выглядит следующим образом: /opt/apache2/bin/apachectl start Можно все сделать правильно, добавив скрипт, но я ограничусь этим.

Установить XCache Комментировать сборку не буду:

 wget  http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.bz2 
 bunzip2 xcache-1.2.2.tar.bz2
 tar -xf xcache-1.2.2.tar
 cd xcache-1.2.2
 /opt/php5.2/bin/phpize
 .

/configure --enable-xcache --prefix=/opt/xcache --enable-xcache-optimizer --with-php-config=/opt/php5.2/bin/php-config make sudo make install

Копируем конфиг (был досадный глюк с sudo и правами, поэтому пришлось делать через sudo su) и админку.

 sudo su
 cat xcache.ini >> /opt/php5.2/lib/php.ini
 exit
 sudo cp -R admin/ /var/www/xcache
Отредактируйте php.ini еще раз:
 sudo vim /opt/php5.2/lib/php.ini
Прокомментируйте zend_extension_ts, установите для xcache.admin.user имя администратора, для xcache.admin.pass — пароль md5, для xcache.size — 64M, для xcache.optimizer — значение On, установите для zend_extension путь «/opt/php5.2/lib».

/php/extensions/no-debug-non-zts-20060613/xcache.so".

Если путь задан правильно, то в phpinfo() мы увидим параметры xcache и сможем посмотреть статистику в админке.

Если этого нет, то посмотрите логи Apache и найдите ошибку.

Установить кэш памяти

 sudo /opt/php5.2/bin/pecl install memcache
Добавляем расширение=memcache.so в php.ini, путь указывать не нужно, он по умолчанию.

Из груши на Никсы установить легко, это вам не винда =) nginx Меняем порт Apache, вводим в Google обратный прокси nginx, читаем, делаем.

Нет не только нет желания, но и нет смысла снова и снова переписывать одно и то же.

Автозагрузка аналогична Apache. Обновлять: Использование Nginx в качестве обратного прокси-сервера на загруженных веб-сайтах , nginx как обратный прокси В следующих сериях 1. Ужас «Сборка минимального PHP для Windows с помощью VS 2008».

Сборка расширений: helloworld. Если кармы достаточно, то это будет завтра или послезавтра, потому что.

уже написано.

2. Создание расширений для Linux. Реализация ТЭА.

2009-09-01 Теги: #расширение PHP сервер Ubuntu #Chulan

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.