Witam, dziś znowu rozwiązanie hostingowe – może dużo tego – ale staram się opisywać i poruszać zagadnienia mimo wszystko ciekawe i potrzebne dla niektórch. Tak czy inaczej – ArchLinux i hosting ? Można.. tylko trzeba chcieć i mieć trochę cierpliwości – szczególnie jeśli do czynienia mamy z Archem pierwszy raz – sam proces konfiguracji wg. mnie jest może i dość czasochłonny (od zera) ale z moim poradnikiem będzie mam nadzieje ekspresowo.
Do napisania poradnika użyłem VPSa z OVH – gama serwerów SSD.
Kernel:
# uname -a Linux vps189954.ovh.net 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux
- serwer www: nginx 1.9.2 + GooglePageSpeed skompilowany w tym poradniku.
- baza danych: MariaDB z repozytoriów twórców – na chwile pisania artykułu v. 10.0.21
- PHP: PHP5-FPM wersja w chwili pisania 5.6.13 / + Ioncube + Opcache
- Serwer FTP: vsftpd, z certyfikatem SSL (używaj Filezilla)
- PHPMyAdmin: ostatni z repozytoriów ArchLinuxa
1. Kompilacja NGINX (custom – są tam dodatkowe paczki m. in GooglePageSpeed)
a) Potrzebne paczki
pacman -Sy git base-devel nano wget curl htop
b) Potrzebni użytkownicy uprawnienia
useradd build echo 'build ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers mkdir -p /home/build ; chown build:build /home/build su build cd $home
c) źródła NGINX
wersja 1.9.2: @na dzień 11.11.2015 – 1.9.6
git clone https://aur.archlinux.org/nginx-custom-dev.git
lub wersja 1.8.0:
git clone https://aur.archlinux.org/nginx-custom.git
kompilacja:
cd nginx-custom-dev
lub dla wersji 1.8.0
cd nginx-custom
d) budowa paczki
makepkg -sri
Po zbudowaniu paczki system zapyta czy zainstalować. Zgadzamy się na to.
2. Konfiguracja serwera nginx
a) przygotowanie
sudo su mkdir -p /etc/ssl/private; chmod -R 710 /etc/ssl/private ; cd /etc/ssl/private openssl dhparam -out dhparams.pem 2048 chmod 600 /etc/ssl/private/dhparams.pem ; cd /root rm /etc/nginx/sites-available/* ; rm /etc/nginx/sites-enabled/* ; rm /etc/nginx/nginx.conf mkdir -p /etc/nginx/conf.d
b) gotowe pliki konfiguracyjne
wget http://pliki.linuxiarz.pl/09-2015/arch/nginx.conf -O /etc/nginx/nginx.conf wget http://pliki.linuxiarz.pl/09-2015/arch/default.conf -O /etc/nginx/conf.d/default.conf mkdir /var/ngx_pagespeed_cache chown -R http: /var/ngx_pagespeed_cache
3. Instalacja serwera PHP (wersja 5.6.13 na dzień pisania poradnika)
pacman -Sy php-fpm php-gd php-imap php-sqlite imagemagick # php-mysql rm /etc/php/php-fpm.conf ; wget http://pliki.linuxiarz.pl/09-2015/arch/php-fpm.conf -O /etc/php/php-fpm.conf rm /etc/php/php.ini ; wget http://pliki.linuxiarz.pl/09-2015/arch/php.ini -O /etc/php/php.ini wget http://pliki.linuxiarz.pl/08-2015/php5/ioncube_loader_lin_5.6.so -O /etc/php/ioncube_loader_lin_5.6.so systemctl start php-fpm
4. Instalacja Bazy danych MariaDB v. 10.0.21
pacman -Syu mariadb mariadb-clients phpmyadmin php-mcrypt perl-dbd-mysql mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql systemctl start mysqld /usr/bin/mysql_secure_installation
5. a) Nowy użytkownik na potrzeby FTP – aby wgrać pliki witryn internetowych.
useradd -m -d /srv/http -s /bin/bash -c "User stron internetowych" -U www chown -R www:www /srv/http
passwd www # ustaw haslo do ftp
b) Instalacja FTP:
pacman -Sy vsftpd unzip cp /etc/vsftpd.conf /etc/vsftpd_bak.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; mkdir -p /var/run/vsftpd/empty systemctl restart vsftpd
6. Narzędzia:
pacman -Sy phpmyadmin echo '<?php phpinfo(); ?>' > /srv/http/info.php ln -s /usr/share/webapps/phpMyAdmin /srv/http/pma
7. Uruchamianie przy starcie:
systemctl enable nginx systemctl enable vsftpd systemctl enable mysqld systemctl enable php-fpm
i na końcu uruchomienie ponowne:
reboot
Po instalacji:
PHPMyAdmin – http://twoj-adres/pma/
PHPInfo – http://twoj-adres/info.php