NGINX z dodatkami na FreeBSD

logo-full
ngx_php_mysql

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