OpenVZ - serwer WWW - apache

Następny element układanki - serwer WWW na apache2.

Update paczek:

apt-get update
apt-get upgrade

Dalej:

dpkg-reconfigure dash

wybieramy No -> używanie basha zamiast dasha


Instalujemy bazę MySQL:

apt-get install ntp ntpdate mysql-client mysql-server openssl sudo -y

Edytujemy dostęp do mysql poza localhost:

nano /etc/mysql/my.cnf

Komentujemy linijkę bind-address:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1

Restart usługi:

/etc/init.d/mysql restart

Instalacja Apache2 i PHP wraz z bibliotekami.

apt-get install apache2 apache2.2-common apache2-doc apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi libapache2-mod-fcgid php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached -y

Włączmy jeszcze moduł przyjaznych adresów:

a2enmod rewrite

I restart usługi:

/etc/init.d/apache2 restart

Ponownie opcjonalna instalacja phpMyAdmin - łatwiejsza o tyle, że phpMyAdmin ma prekonfigurowany wirtualny host dla Apache2 (nie zapomnijmy też o przekierowaniu na serwerze matce).

apt-get install phpmyadmin

Web server to reconfigure automatically: <- apache2
Configure database for phpmyadmin with dbconfig-common? <- no

Sprawdźmy teraz czy działa php.

Utwórzmy folder poleceniem:

mkdir -p /var/www/

A w nim plik index.php :

nano index.php

z zawartością:

<?php
phpinfo();
?>

Teraz wracamy na serwer-matkę i konfigurujemy kolejny wirtualny host:

server {

        server_name apache2.DOMENA;

        location / {
                proxy_set_header X-Real_IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
                proxy_pass http://192.168.0.102:80/;
        }
}

Restart nginxa:
/etc/init.d/nginx restart

Sprawdzamy wchodząc na stronę apache2.DOMENA.

Jeszcze tylko przekierowanie portów do bazy (nie korzystam z phpMyAdmin) na serwerze matce:

iptables -t nat -A PREROUTING -i vmbr0 -p tcp -d IP_SERWERA --dport 3326 -j DNAT --to-destination 192.168.0.102:3306

Gotowe.