Dziś przedstawię jak na szybko uruchomić serwer WWW Apache 2.4.16 na serwerze Debian/Ubuntu i podobnych w celu np. udostępnienia plików czy umieszczenia prostej strony WWW w HTML, nie instaluje PHP.
1. Pakiety potrzebne do kompilacji
apt-get update; apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl libcurl4-openssl-dev libossp-uuid-dev nano curl vsftpd -y apt-get update; apt-get build-dep apache2 -y
2. Dodawanie użytkownika (później przyda się do FTP):
adduser www mkdir -p /home/www/public_html
3. Konfigurujemy usera www-data w systemie:
groupadd -g 25 www-data && useradd -c "Apache Server" -d /home/www/public_html -g www-data -s /bin/false -u 25 www-data
4. Pobieramy źródła Apache
curl -O https://archive.apache.org/dist/httpd/httpd-2.4.16.tar.bz2 bunzip2 httpd-2.4.16.tar.bz2 ; tar xvf httpd-2.4.16.tar mkdir -p /var/compile ; mv httpd-2.4.16 /var/compile source="/var/compile/httpd-2.4.16" cd $source curl -O http://www.linuxfromscratch.org/patches/blfs/svn/httpd-2.4.16-blfs_layout-1.patch
5. Kompilacja
a) patch
patch -Np1 -i httpd-2.4.16-blfs_layout-1.patch sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in
b) konfiguracja
./configure --enable-authnz-fcgi \ --enable-layout=BLFS \ --enable-mods-shared="all cgi" \ --enable-mpms-shared=all \ --enable-suexec=shared \ --with-apr=/usr/bin/apr-1-config \ --with-apr-util=/usr/bin/apu-1-config \ --with-suexec-bin=/usr/lib/httpd/suexec \ --with-suexec-caller=www-data \ --with-suexec-docroot=/home/www/public_html \ --with-suexec-logfile=/var/log/httpd/suexec.log \ --with-suexec-uidmin=100 \ --with-suexec-userdir=public_html
c) komilacja i instalacja
make && make install
6. Małe zabiegi po kompilacji:
mv -v /usr/sbin/suexec /usr/lib/httpd/suexec chgrp www-data /usr/lib/httpd/suexec chmod 4754 /usr/lib/httpd/suexec chown -v -R www.www /home/www/public_html rm /etc/httpd/httpd.conf ; wget http://pliki.linuxiarz.pl/09-2015/httpd.conf -O /etc/httpd/httpd.conf
7. Serwer FTP
rm /etc/vsftpd.conf wget http://pliki.linuxiarz.pl/08-2015/ftp/vsftpd.conf -O /etc/vsftpd.conf; touch /etc/vsftpd.chroot_list wget http://pliki.linuxiarz.pl/08-2015/ftp/private.zip; unzip private.zip; mv private/* /etc/ssl/private; rm private.zip service vsftpd restart
8. Uruchomienie serwera:
apachectl start
Document Root: /home/www/public_html