Я пытаюсь скомпилировать Apache 2.4.28 из источника, я не могу использовать команду
apt-get install apache2
Поскольку этот Apache установки команды 2.4.18 только.
Вот мой шаг установки:
Зависимость от установки
apt-get install build-essential
apt-get install libexpat1-dev
apt-get install libpcre3-dev libssl-dev
Загрузите apache2.4.28
cd /usr/local/src
wget http://mirrors.viethosting.com/apache//apr/apr-1.6.2.tar.gz
wget http://mirrors.viethosting.com/apache//apr/apr-util-1.6.0.tar.gz
wget http://archive.apache.org/dist/httpd/httpd-2.4.28.tar.gz
Скомпилируйте апачские 2.4.28
tar xzvf apr-1.6.2.tar.gz
tar xzvf apr-util-1.6.0.tar.gz
tar xzvf httpd-2.4.28.tar.gz
mv apr-1.6.2/ httpd-2.4.28/srclib/apr
mv apr-util-1.6.0/ httpd-2.4.28/srclib/apr-util
./configure --prefix=/etc/apache2 --enable-mods-shared="reallyall" --enable-mpms-shared="all"
make && make install
ln -s /etc/apache2/bin/apachectl /etc/init.d/apache
update-rc.d apache defaults----> It has this warning "insserv: warning: script 'apache' missing LSB tags and overrides"
service apache start
После выполнения вышеупомянутых шагов был выполнен Apache 2.4.28. Но я, когда я использую
apache2 -v ----> it's not show the version of apache2
Затем я устанавливаю PHP5.6 как это:
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php5.6
Когда я использую эту команду, она не только устанавливает php5.6, но также и устанавливает apache2.4.18 и когда я тестирую PHP:
echo "hello world"; ----> it not show any thing.
И
root@ubuntu:~# ps -aux | grep httpd
root 991 0.0 0.1 75268 3848 ? Ss 02:47 0:00 /usr/local/apache2/bin/httpd -k start
@Edit: как комментарий я изменяюсь:
./configure --prefix=/etc/apache2 --enable-mods-shared="reallyall" --enable-mpms-shared="all"
кому:
./configure --prefix=/usr/local/apache2 --enable-mods-shared="reallyall" --enable-mpms-shared="all"
Помогите мне, благодарите заранее.
Ай... При создании Apache + PHP может быть сделан +, процесс сборки может быть крайне долог + подверженный ошибкам.
Вот то, как я использую последний стабильный PPAs для установки последнего Apache + также PHP, который может быть легко переключен между 5,6 или 7.0 или 7.1 + скоро 7.2, когда это идет стабильное.
я делаю это в контейнерах LXD, таким образом, машина (размещают уровень) содержит только код по умолчанию + LXD + никакой код стека LAMP.
Вот то, как я установил бы последний стабильный LXD + Apache + MariaDB + PHP (5.6) + OpenSSL + HTTP2 + FPM (который теперь требуется для выполнения HTTP2), + Голубятня.
Шаги я использую для установки клиента, размещающего Стопки ЛАМПЫ контейнера LXD...
# Setup repositories, some of which require a bit of trickery
add-apt-repository ppa:ubuntu-lxc/lxd-stable < /dev/null
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php </dev/null
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/apache2 </dev/null
add-apt-repository ppa:pdoes/dovecot </dev/null
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
echo "deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/mariadb-$(lsb_release -sc).list
apt-get update
# Install PHP-5.6 based LAMP
apt-get install mariadb-server mariadb-client libmysqlclient-dev
apt-get install php5.6-fpm php5.6-cli php5.6-mbstring php5.6-zip \
php5.6-mysql php5.6-curl php5.6-xml php5.6-xmlrpc \
php5.6-gd php5.6-soap php5.6-gmp php5.6-pspell \
php5.6-sqlite3 php5.6-tidy php5.6-xsl php5.6-bz2 \
php5.6-tidy php5.6-bcmath php5.6-bz2 php5.6-dba
a2enmod mpm_event proxy_fcgi setenvif alias cgid ssl http2 \
expires headers include rewrite
a2enconf php5.6-fpm
# update PHP CLI, when multiple versions installed
update-alternatives --set php /usr/bin/php5.6
# tune FPM pool + php.ini + opcache.ini + xdebug.ini + cold restart FPM
service service php5.6-fpm
Проявление этого подхода даст Вам последний стабильный Apache + PHP + OpenSSL + как упакованный код (никакие скрученные вручную сборки).
Вы также получите восходящие исправления ошибок, поскольку ошибки обнаружены.
при вручении самокрутки необходимо будет постоянно проверять много различных списков рассылки для знания, когда восстановить +, как применить патчи..., который является другим в широком масштабе трудоемким усилием.
BTW, Apache 2.4.28 просто выпущенный на прошлой неделе, таким образом, эта версия Apache появится в ondrej PPA, как только это упаковало + протестированный код.
Вероятный когда-то на этой неделе или затем, таким образом, Вы закончите с Apache 2.4.27 установленных сегодня.
Я полагаю, что Вы сделали несколько вещей неправильно. Сначала эта строка:
./configure --prefix=/etc/apache2 --enable-mods-shared="reallyall" --enable-mpms-shared="all"
должен был быть:
./configure --prefix=/usr/local/apache2" --enable-mods-shared="reallyall" --enable-mpms-shared="all"
Ваш --prefix
опция во время компиляции является неправильной. Я совет Вы удаляете его и фиксируете это --prefix
опция
Как скомпилировать:
Загрузите исходный файл для версии, которую Вы хотите
Требования сборки установки:
sudo apt-get install build-essential
Установка Zlib
для сжатия с этими шагами:
cd /usr/local/src
wget http://www.zlib.net/zlib-1.2.8.tar.gz
tar xvfz zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure --prefix=/usr/local
make
Скомпилируйте апача с этими шагами:
Переместите загруженный apache
исходный файл в /usr/local/src
, затем
cd /usr/local/src
tar xvfz httpd-2.4.10.tar.gz
cd httpd-2.4.10/
sudo ./configure
Если Вы добираетесь APR
ошибка выполняется:
sudo apt install libapr1-dev libaprutil1-dev
Если успешное выполнение:
sudo make
sudo make install
Проверьте, чтобы видеть, работает ли это:
sudo /usr/local/apache2/bin/apachectl start
http://localhost
или Ваш IP-адрес машины и Вы должны видеть, что в сообщении говорится, что "Он работает!"Включить boot startup
:
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
sudo chmod +x /etc/init.d/apache2
Добавьте к значению по умолчанию runlevels
:
sudo /usr/sbin/update-rc.d -f apache2 defaults
Источник:
http://www.linuxpathfinder.com/install-apache-from-source-on-ubuntu