Hej! Jeśli irytują Cię ograniczenia jakie zazwyczaj narzucają operatorzy w ofercie swoich hostingów współdzielonych, czy brak możłiwośći edycji ustawień w PHP na potrzeby specyficznej wtyczki ?
Irytuje Cię niska wydajność takiego rozwiązania ? Zbyt mała moc bliczeniowa a Ty przekraczasz zasoby ?
Jeśli przynajmniej na jedno pytania odpowiedź brzmi : TAK to ten poradnik jest dla Ciebie!
Przedstawiam Wam kompletny poradnik w którym opisze instalacje pełnego środowiska serwera WWW z bardzo wydajną bazą MariaDB oraz serwerem WWW przygotownym pod barzo wysoką wydajność!
Sposób przygotowany na instancji PublicCloud w OVH, oczywiście można użyć również na serwerze VPS SSD/Cloud.
Poradnik przeprowadzany na systemie Ubuntu 14.04 LTS
Na początek przygotowanie serwera:
1. Połączenie do maszyny:
w przypadku serwera PublicCloud, łącze się do systemu za pomocą klucza SSH,
ssh admin@167.114.240.207 -i .ssh/id_rsa2
2. Przygotowanie:
sudo -i apt-get update apt-get upgrade -y
Konfiguracja użytkownika www (usatwienie hasła będzie jednoznaczne z ustawieniem hasła do FTP!)
adduser www
3. Serwer www
apt-get install curl wget nano apt-transport-https software-properties-common dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl libcurl4-openssl-dev libossp-uuid-dev nano curl git autotools-dev debhelper dh-systemd libexpat-dev libgd-dev libgeoip-dev libluajit-5.1-dev liblua5.1-0-dev libmhash-dev libpam0g-dev libperl-dev libxslt1-dev po-debconf libssl-dev -y wget http://repo.linuxiarz.pl/NGINX-1.10.0-custom.tar.gz tar xvf NGINX-1.10.* ; cd nginx-1.10.* ; dpkg-buildpackage -b cd .. dpkg -i nginx-common_1.10.*.deb nginx_1.10.*.deb nginx-extras_1.10.*.deb nginx-doc_1.10.*.deb rm /etc/nginx/conf.d/* ; rm /etc/nginx/sit*/* ; rm /etc/nginx/conf.d/default.conf
Serwer www jest, przejdźmy do instalacji PHP, skonfigurowanie serwera WWW wykonamy później.
4. Instalacja PHP 5.6
add-apt-repository ppa:ondrej/php5-5.6 apt-get update apt-get install php5-fpm php5 php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache -y postfix --force-yes wget http://pliki.linuxiarz.pl/02-2016/php-set.sh -O php-set.sh chmod +x php-set.sh ./php-set.sh
Plik php-set.sh konfiguruje podstawowe funckje, możesz pozostawić domyślne lub wpisać swoje żądane wartości.
Włączenie PHP5-FPM
service php5-fpm restart
5. Instalacja serwera FTP oraz jesgo konfiguracja:
apt-get install vsftpd -y 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
Domyslnie włączona jest opcja FTP przez TLS, aby to wyłączyć – w pliku /etc/vsftpd.conf zmień na ssl_enable=NO
6. Instalacja bazy MariaDB i jej konfiguracja
Podczas instalacji serwera bazodanowego – system po prosi o wprowadzenie hasła do użytkownika “root” – zapamiętaj go.
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db add-apt-repository 'deb [arch=amd64,i386] http://mariadb.kisiek.net/repo/10.1/ubuntu trusty main' apt-get update apt-get install mariadb-server mariadb-client -y
Gotowa konfiguracja i start serwera:
rm /etc/mysql/my.cnf; wget http://pliki.linuxiarz.pl/08-2015/my.cnf -O /etc/mysql/my.cnf service mysql restart
7. Serwer Memcache
apt-get install memcached -y rm /etc/memcached.conf wget http://pliki.linuxiarz.pl/11-2015/memcached.conf -O /etc/memcached.conf rm /etc/nginx/conf.d/* wget http://pliki.linuxiarz.pl/11-2015/ngx_mem.conf -O /etc/nginx/conf.d/default.conf
8. Uruchamianie orpogramowania przy starcie systemu:
update-rc.d nginx defaults update-rc.d mysql defaults update-rc.d vsftpd defaults update-rc.d memcached defaults
Instalacja WORDPRESS:
1. Tworzenie katalogów i pobieranie najnowszej wersji CMS
mkdir /home/www/public_html wget https://pl.wordpress.org/wordpress-4.4.2-pl_PL.tar.gz -O /home/www/public_html/wp.tar.gz cd /home/www/public_html/ tar xfz wp.tar.gz; rm wp.tar.gz
Konfiguracja uprawnień do plików i katalogów Wordpresa
wget http://pliki.linuxiarz.pl/02-2016/wp-perm.sh -O /root/wp-perm.sh chmod +x /root/wp-perm.sh cd /root/ ./wp-perm.sh
Dodawanie użytkownika www do grupy www-data
usermod -g www-data www
2. Tworzenie bazy danych
mysql -u root -p
Po wydaniu tego polecenia, system poprosi o hasło, jest to hasło wcześniej ustawione przy instalacji serwera MariaDB
Po podaniu prawidłowego hasła, będziesz w konsoli bazy MySQL, tutaj tworzysz bazę.
CREATE DATABASE wordpress; ### PAMIETAJ ZMENIC HASLO DLA UŻYTKONIKA BAZY -> Linia poniżej - wewnątrz '' ### CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; quit
3. Konfiguracja serwera www
rm -rf /etc/nginx/conf.d/default.conf wget http://pliki.linuxiarz.pl/02-2016/wordpress.conf -O /etc/nginx/conf.d/wordpress.conf sed -i '9d' /etc/nginx/php.conf service nginx restart
4. Czas przzejść do przeglądrki, warto skierować już do twojego serwera jakąś domenę.
W jej strefie DNS (operator np.) wpisz adres IPv4 jako wartośc rekordu A oraz wartość a dla subdomeny “www”.
Wywołąj IP lub adres twojej wcześnie skonfigurowanej domeny w przeglądarce.
Jeżeli wszystko przebiegło pomyślnie powinien ukazać się instalator WordPress:
Kwestie konfiguracyje – To pozostawiam dla Ciebie.
Serwer WWW wkompilowane ma moduły opisane tu: http://linuxiarz.pl/1911/nginx-1-9-11-z-modulami-na-debian-ubuntu-centos-i-innych/
Ustawione reguły dla GooglePageSpeed: http://pliki.linuxiarz.pl/02-2016/pagespeed.txt
Możliwe konfiguracje moduły PageSpeed: https://developers.google.com/speed/pagespeed/module/configuration
Nie testowane z wtyczką dla Worpdresa: W3 Total Cache, może być konieczne wyłącznie modułu GooglePageSpeed.
Wyłączenie PageSpeed’a:
sed -i s'/pagespeed on;/pagespeed off;/' /etc/nginx/conf.d/wordpress.conf /etc/init.d/nginx restart
Włączenie PageSpeed’a
sed -i s'/pagespeed off;/pagespeed on;/' /etc/nginx/conf.d/wordpress.conf /etc/init.d/nginx restart
5. Instalacja i konfiguracja zapory (firewall) oraz uprawnień do plików i katalogów
apt-get install ufw -y
Ustawienie regułek zapory
ufw allow ssh ufw enable ufw allow ftp ufw allow http ufw allow 12000:12100/tcp
Na końcu można uruchomić ponownie serwer i zweryfikować czy wszystko się uruchomi przy starcie.
reboot
Opcjonalna instalacja PHPMyAdmin:
cd /opt/; wget https://files.phpmyadmin.net/phpMyAdmin/4.5.4.1/phpMyAdmin-4.5.4.1-all-languages.zip unzip phpMyAdmin-4* rm -rf php*.zip mv phpMyAdmin-4* pma mkdir -p /var/lib/php/session; chmod 4777 /var/lib/php/session wget http://pliki.linuxiarz.pl/12-2015/c7-apache/pma.conf -O /etc/nginx/conf.d/pma.conf ufw allow 9977/tcp service nginx restart
dostęp dp PHPMyAdmin: http://TWOJ-IP:9977, lub http://domena.pl:9977