Hej, dziś kolejny poradnik z serwerem www, tym razem system NGINX an FreeBSD – niestety bez GooglePageSpeed’a ze względu na niekompatybilność modułu od Google’a, inne ciekawe i przydatne moduły oczywiście są zawarte w kompilacjach.
Całość oparte o NGINX z gałęzi “mainline“, MySQL 5.6, PHP-FPM 5.6 – wszystko zbudowane na lokalnej maszynie na FreeBSD 11
Poradnik pisałem w oparciu o instancję PublicCloud z OVH – domyślnie oczywiście w szablonach sstemowych nie ma FreeBSD osobiscie wgrałem ręcznie obraz QCOW2 -> http://ftp.freebsd.org/pub/FreeBSD/snapshots/VM-IMAGES/11.0-CURRENT/amd64/20151130/
i były na samym początku problemy z pobraniem adresu IP, podobno (jak zapytałem programistów OpenStack – FreeBSD ma problem z współpracą z serwerem DHCP z OpenStack’a.)
Więc na początek konfiguracja IP: (dopisać do pliku /etc/rc.conf ) – pamiętaj uzupełnieniu własnymi danymi.
Jeżeli używasz serwera Dedykowanego bądź innego nie powiązanego z OpenStack i wirtualizacją KVM to pomiń ten krok.
ifconfig_vtnet0="inet 149.202.171.92 netmask 255.255.255.255 broadcast 149.202.171.92" static_routes="net1 net2" route_net1="-net 149.202.160.1/32 149.202.171.92" route_net2="default 149.202.160.1" tcsd_enable="YES" sshd_enable="YES"
i reboot
1. Aktualizacja “portów” w systemie:
portsnap fetch update && portupgrade -a
2. Budowanie i uruchomienie NGINX:
cd /usr/ports/www/nginx-devel rm Makefile mkdir -p work wget http://nginx.linuxiarz.pl/FreeBSD/nginx-module-vts.tar.gz -O work/nginx-module-vts.tar.gz tar xvf work/nginx-module-vts.tar.gz ; rm work/nginx-module-vts.tar.gz wget http://nginx.linuxiarz.pl/FreeBSD/Makefile -O Makefile make install clean echo 'nginx_enable="YES"' >> /etc/rc.conf cd /usr/local/etc/nginx rm * wget ngx_bsd_config.zip pkg install unzip unzip ngx_bsd_config.zip mkdir -p /var/www service nginx start
3. Baza danych MySQL (opcjonalnie można zbudować MariaDB)
3.1 Budowa:
cd /usr/ports/databases/mysql56-server/ && make install clean echo 'mysql_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/mysql-server start service mysql-server start
3.2 Konfiguracja:
hostname bsd ##USTAW WŁASNĄ NAZWĘ HOSTA mysql -u root SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd-here'); SET PASSWORD FOR ''@'bsd' = PASSWORD('newpwd-here'); quit #### mysqladmin -u root -p shutdown /usr/local/etc/rc.d/mysql-server.sh start
4. Budowa PHP-FPM
4.1 PHP:
cd /usr/ports/lang/php56 make config make install clean
4.2 Moduły:
cd /usr/ports/lang/php56-extensions/ make config make install clean cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini echo 'php_fpm_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/php-fpm start
5. phpMyAdmin:
wget https://files.phpmyadmin.net/phpMyAdmin/4.5.2/phpMyAdmin-4.5.2-all-languages.zip -O /var/www/pma.zip unzip /var/www/pma.zip -d /var/www rm /var/www/pma.zip mv /var/www/phpMyAdmin* /var/www/pma
6. Dodatki:
wget http://pliki.linuxiarz.pl/11-2015/status.zip -O /var/www/status.zip cd /var/www/ ; unzip status.zip ; rm /var/www/status.zip rm /var/www/stan.php