Wczoraj opublikowałem jak zainstalować na Debianie 8 fajny serwer WWW w skład którego wchodzą:
- APACHE/2 – jako backend (obsługa .htaccess)
- NGINX – (moja kompilacja! z wkompilowanym PageSpeedem i modułem VTS) przepisujący kod w “locie” dzięki PageSpeedowi oraz Cachujący pliki statyczne. nginx dla plików statycznych jest po prostu najszybszy!
- Varnish – na foncie, maskuje wszelkie dane dot. serwera WWW itp, ponadto konfiguracja skierowana jest bezpośrednio do najpopularniejszych CMSów typu Drupal (testowane – PERFECT!) WordPress i innych. Ponadto jak to Varnish – CACHE:) (przyda się przy potężnym ruchu)
- PHP5-FPM – to już standard. Interpreter plików PHP.
- FTP – vsftpd z FTP przez TLS 😉 – nie lubię NIE-szyfrowanych połączeń – możesz sobie TLS wyłączyć zawsze.
- MariaDB 10.1.8 – Alternatywna baza – cechująca się przede wszystkim wyższą wydajnością i to jest przewaga ponad MySQL którego nie lubię..ale niestety jest takie to oklepane…
Tysiące poradników w sieci to Apache + MySQL i tyle..
Całość starałem się dostosować do UBUNTU 15.04 – konfiguracja jest klonem wczorajszego poradnika.
1. PRZYGOTOWANIE:
adduser www ## w tym miejscu zdefiniuj sobie haslo do konta w systemie oraz FTP mkdir /home/www/public_html ; chown -R www:www-data /home/www/* ; chmod -R 775 /home/www/ mkdir -p /home/www/logs sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db rm /etc/apt/sources.list ; wget http://pliki.linuxiarz.pl/10-2015/sources.list -O /etc/apt/sources.list apt-get update; apt-get install curl apt-transport-https software-properties-common -y
2. INSTALACJA PAKIETÓW
apt-get update ; apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5-fpm php5 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 vsftpd nano wget curl imagemagick unzip sendmail software-properties-common mariadb-server libvpx1 fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 liblua5.1-0 libperl5.20 libtiff5 libxpm4 libxslt1.1 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal -y --force-yes
3. KONFIGURACJA APACHE/2 + PHP5-FPM
rm /etc/php5/fpm/php.ini; wget http://pliki.linuxiarz.pl/08-2015/php5/php.ini -O /etc/php5/fpm/php.ini wget http://pliki.linuxiarz.pl/08-2015/php5/opcache.so -O /etc/php5/opcache.so wget http://pliki.linuxiarz.pl/08-2015/php5/ioncube_loader_lin_5.6.so -O /etc/php5/ioncube_loader_lin_5.6.so rm /etc/apache2/mods-enabled/fastcgi.conf ; wget http://pliki.linuxiarz.pl/09-2015/fastcgi.conf -O /etc/apache2/mods-enabled/fastcgi.conf rm /etc/apache2/sites-available/* ; wget http://pliki.linuxiarz.pl/09-2015/000-default.conf -O /etc/apache2/sites-available/000-default.conf rm /etc/apache2/apache2.conf ; wget http://pliki.linuxiarz.pl/10-2015/apache2.conf -O /etc/apache2/apache2.conf rm /etc/apache2/ports.conf ; wget http://pliki.linuxiarz.pl/09-2015/ports.conf -O /etc/apache2/ports.conf wget http://pliki.linuxiarz.pl/09-2015/pma.conf -O /etc/apache2/sites-enabled/pma.conf a2enmod actions rewrite alias deflate headers echo '<?php phpinfo(); ?>' > /home/www/public_html/info.php rm /etc/apache2/mods-available/autoindex.conf ; wget http://pliki.linuxiarz.pl/10-2015/autoindex.conf -O /etc/apache2/mods-available/autoindex.conf
4. KONFIGURACJA BAZY DANYCH I INSTALACJA PHPMYADMIN
/etc/init.d/mysql stop rm /etc/mysql/my.cnf; wget http://pliki.linuxiarz.pl/08-2015/my.cnf -O /etc/mysql/my.cnf systemctl restart mysql apt-get install phpmyadmin -y rm /etc/apache2/conf-enabled/phpmyadmin.conf rm /etc/phpmyadmin/apache.conf
5. KONFIGURACJA NGINX – REVERSE PROXY
wget http://kompilacje.linuxiarz.pl/Ubuntu%2015.04/nginx-1.9.3-pagespeed-vts-OUT-OF-THE-BOX-ubuntu15-04/nginx-common_1.9.3-1ubuntu1_all.deb wget http://kompilacje.linuxiarz.pl/Ubuntu%2015.04/nginx-1.9.3-pagespeed-vts-OUT-OF-THE-BOX-ubuntu15-04/nginx_1.9.3-1ubuntu1_all.deb wget http://kompilacje.linuxiarz.pl/Ubuntu%2015.04/nginx-1.9.3-pagespeed-vts-OUT-OF-THE-BOX-ubuntu15-04/nginx-extras_1.9.3-1ubuntu1_amd64.deb sudo dpkg --install *.deb rm * /etc/nginx/conf.d/ ; wget http://pliki.linuxiarz.pl/10-2015/ngx_rev2.conf -O /etc/nginx/conf.d/default.conf ### HTTPS ### openssl genrsa -out /etc/nginx/privkey.pem 2048 openssl req -new -x509 -key /etc/nginx/privkey.pem -out /etc/nginx/cacert.pem -days 1095
6. KONFIGURACJA 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
7. RESTART USŁUG
systemctl restart vsftpd systemctl restart apache2 systemctl restart mysql systemctl restart nginx
8. VARNISH
curl https://repo.varnish-cache.org/GPG-key.txt | apt-key add - echo "deb https://repo.varnish-cache.org/ubuntu/ trusty varnish-4.1" >> /etc/apt/sources.list.d/varnish-cache.list apt-get update ; apt-get install varnish rm /lib/systemd/system/varnish.service ; wget http://pliki.linuxiarz.pl/10-2015/varnish.service -O /lib/systemd/system/varnish.service rm /etc/varnish/default.vcl ; wget http://pliki.linuxiarz.pl/10-2015/default.vcl -O /etc/varnish/default.vcl rm * /etc/nginx/conf.d/ ; wget http://pliki.linuxiarz.pl/10-2015/ngx_rev.conf -O /etc/nginx/conf.d/default.conf systemctl daemon-reload systemctl restart nginx systemctl restart varnish
9. URUCHOMIENIE PRZY STARCIE
update-rc.d nginx defaults update-rc.d varnish defaults crontab -l | { cat; echo "@reboot systemctl start varnish"; } | crontab - update-rc.d apache2 defaults update-rc.d mysql defaults