Hej:)
Kontynuuje serie serwera WWW “w pigułce” tym razem pracujemy na systemie: CentOS 7.
Przygotowywałem wszystko od początku, wcześniejsze poradniki dotyczyły zupełnie innych systemów, były to głównie Debiany i Ubuntu – tym razem CentOS i dziecko RedHata czyli Fedora.
Skupiłem się na NGINX – bez Apache – na to przyjdzie czas…
NGINX’a kompilujesz z “moich” źródeł – po prostu dołączam sprawdzona konfigurację, moduły i dodatki.
Bazujemy wyłącznie na wersji NGINX 1.9.7 – jest to najnowsza na dzień wersja (20.11.2015)
Jako bazę opisuje MariaDB – przecież nic innego nie potrzebujesz, prawda 😉 ??
Wszystko poza NGINX pochodzi z dystrybucji CentOS (repozytoria oficjalne lub epel)
Domyślna konfiguracja serwera NGINX znajduje się w /etc/nginx/nginx.conf a v-hosty /etc/nginx/conf.d/
Po więcej informacji odsyłam do dokumentacji -> https://www.nginx.com/resources/wiki/
Poniższa konfiguracja działa również na Fedorze 19/20
Wyłącz przed instalacjami SELinux: more..
setenforce 0
1. Przygotowanie, wymagane pakiety:
sudo yum install epel-release -y sudo yum install wget curl unzip gcc-c++ pcre-devel zlib-devel openssl-devel lua-devel -y
2. Źródła NGINX które przygotowałem, z moimi “udogodnieniami”:
mkdir ~/custom-nginx cd ~/custom-nginx wget http://repo.linuxiarz.pl/NGINX-1.9.7-UNIX.tar.gz tar xvf NGINX-1.9.7-UNIX.tar.gz cd nginx-*
3. Kompilacja
wget http://pliki.linuxiarz.pl/11-2015/configure_c7_ng_0.sh -O configure.sh chmod +x configure.sh bash configure.sh make make install
4. Konfiguracja:
rm -rf /etc/nginx/ cd /root/ ; mkdir nginx cd nginx ; wget http://pliki.linuxiarz.pl/11-2015/nginx_centos7.zip unzip nginx_centos7.zip ; cd /root mv nginx /etc/
5. Skrypt startowy NGINX:
wget http://pliki.linuxiarz.pl/11-2015/nginx-init.d_centos -O /etc/init.d/nginx chmod +x /etc/init.d/nginx /etc/init.d/nginx start
6. Konfiguracja użytkownika “www“:
mkdir -p /home/www/public_html/ mkdir -p /var/cache/nginx/client_temp useradd -r nginx useradd -r www chown www:www /home/www -R
7. Baza danych MariaDB:
wget http://pliki.linuxiarz.pl/11-2015/mariadb.repo -O /etc/yum.repos.d/MariaDB.repo yum install MariaDB-server MariaDB-client sendmail -y systemctl start mariadb mysql_secure_installation
8. PHP5-FPM – instalacja i konfiguracja:
8.1 PHP 5.4
yum install php-fpm php-gd php-xmlrpc php-xml php-mysql php-curl php-mbstring php-pear nano wget curl unzip sendmail rm /etc/php-fpm.d/* --force ; wget http://pliki.linuxiarz.pl/09-2015/www.conf -O /etc/php-fpm.d/www.conf mkdir -p /etc/php-fpm.d/extension rm /etc/php.ini --force ; wget http://pliki.linuxiarz.pl/09-2015/php_centos.ini -O /etc/php.ini wget http://pliki.linuxiarz.pl/09-2015/opcache_5.4.so -O /etc/php-fpm.d/extension/opcache.so wget http://pliki.linuxiarz.pl/09-2015/ioncube_loader_lin_5.4.so -O /etc/php-fpm.d/extension/ioncube_loader_lin_5.4.so echo '<?php phpinfo(); ?>' > /home/www/public_html/info.php systemctl restart php-fpm
8.2 PHP 5.6 – zamienne z wersją 5.4
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum install php56w-gd php56w-xmlrpc php56w-xml php56w-mysql php56w-curl php56w-mbstring php56w-pear php56w-opcache php56w-soap php56w-fpm php56w-imap php56w-mcrypt php56w-pdo nano wget curl unzip rm -rf /etc/php.ini rm -rf /etc/php-fpm.d/www.conf wget http://pliki.linuxiarz.pl/11-2015/c7/php.ini -O /etc/php.ini wget http://pliki.linuxiarz.pl/11-2015/c7/www.conf -O /etc/php-fpm.d/www.conf mkdir -p /etc/php-modules wget http://pliki.linuxiarz.pl/08-2015/php5/opcache.so -O /etc/php-modules/opcache.so wget http://pliki.linuxiarz.pl/08-2015/php5/ioncube_loader_lin_5.6.so -O /etc/php-modules/ioncube_loader_lin_5.6.so sed -i s'/fastcgi_pass unix:\/var\/run\/php5-fpm.sock/fastcgi_pass 127.0.0.1:9000/' /etc/nginx/php.conf echo '<?php phpinfo(); ?>' > /home/www/public_html/info.php service php-fpm restart /etc/init.d/nginx restart
9. Zarządzanie bazą danych czyli phpMyAdmin:
cd /home/www/public_html wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.1/phpMyAdmin-4.4.15.1-all-languages.zip unzip phpMyAdmin-4.4.15.1-all-languages.zip rm -rf php*.zip mv phpMyAdmin-4.4.15.1-all-languages pma mkdir -p /var/lib/php/session; chmod 4777 /var/lib/php/session
10. FTP:
http://linuxiarz.pl/1356/centos-7-instalacja-serwera-ftp/
11. Na podstawie uwag, jednego z użytkowników postanowiłem wskazać jak zmodyfikować ustawić własne hasło do modułu VTS i statystyk NGINX PageSpeed oraz zakładki /nginxstatus
Przygotowałem skrypt:
wget http://pliki.linuxiarz.pl/11-2015/generator -O /usr/bin/generator chmod +x /usr/bin/generator echo "" > /etc/nginx/htpasswd
->> UZYCIE: generator nazwapliku uzytkownik haslo
generator /etc/nginx/htpasswd admin admin
12. Uruchamianie usług ze startem systemu:
sudo /usr/bin/systemctl enable mariadb sudo /usr/bin/systemctl enable nginx sudo /usr/bin/systemctl enable php-fpm