Serwer VPS z ISPconfig czyli idealne środowisko na prywatny Hosting cz.2

1) Zainstaluje pakiety serwera

1
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve

Następnie wybieraj opcje:
General type of mail configuration: System mail name:

Ustaw hasła do MySQL. Finalnie Mysql zgłosi błąd że nie może uruchomić usługi, ponieważ jej jeszcze nie skonfigurowalismy.

2) Konfiguracja POSTFIXa:

Edytuj plik aby /etc/postfix/master.cf ustawić połączenia TLS/SSL. Odkomentuj linie tak aby to wyglądało następująco:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[...]
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
[...]

 Zrestartuj usługę:

1
service postfix restart

 

3) Konfiguracja MySQL

Edytuj plik /etc/mysql/my.cnf gdzie należy odkomentować linię:

1
bind-address           = 127.0.0.1

 A następnie uruchamiamy:

1
service mysql restart

 Jeżeli nie chce wstać MySQL a błędem jest:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Czyli w logach: InnoDB: Fatal error: cannot initialize AIO sub-system

Do pliku my.cnf umieść linię:

1
innodb_use_native_aio = 0

Jeżeli nie możecie zatrzymać usługi polecam rozwiązanie:

1
2
3
4
5
6
7
8
cd /var/lib/mysql
mkdir bak
mv ibdata1 bak/
mv ib_logfile* bak/
cp -a bak/ibdata1 ibdata1
cp -a bak/ib_logfile* .
rm -rf bak
service mysqld restart

 jeżeli nie pomoże ostatecznością polecam:

1
killall mysqld

Nastomiast jeśli przy uruchamianiu masz problem:
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
Wykonaj instrukcję: LINK

Jeżeli wszystko działa: dla pewności możesz sprawdzić czy połączenie wychodzi w mysql:

1
2
3
root@vz33770:/etc/mysql# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      2432/mysqld

 

4) Bezpieczeństwo antywirusowe: Amavisd-new, SpamAssassin, Clamav

AMaViS czyli (A Mail Virus Scanner)

Zainstaluj paczki:

1
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Jeżeli chcesz ISPconfig nalezy jeszcze odłączyć spamassasina od systemu. ISP będzie zarządzać i konfigurować działanie SPAMu własnie przez spamassasina. Wykonaj polecenia:

1
2
/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove

 

5) Instalacja Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt

Wykonaj polecenie:

1
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp 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

A następnie wybierz opcje:

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

 

Następnie uruchom usługi Apache:

1
a2enmod suexec rewrite ssl actions include

 

Edytujemy plik /etc/apache2/mods-available/suphp.conf tak aby wyglądał następująco:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#    <FilesMatch ".ph(p3?|tml)$">
#        SetHandler application/x-httpd-suphp
#    
        AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
        suPHP_AddHandler application/x-httpd-suphp
 

        suPHP_Engine on

 
    # By default, disable suPHP for debian packaged web applications as files
    # are owned by root and cannot be executed by suPHP because of min_uid.

        suPHP_Engine off

 
# # Use a specific php config file (a dir which contains a php.ini file)
#       suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type .
#       suPHP_RemoveHandler 

 A nastepnie restarujemy apache

 

6) Dodatki:

Xcache:

1
apt-get install php5-xcache

PHP-FPM - nie mylić z mod_fcgid. Łączyć dwóch modułów nie można.

1
2
apt-get install libapache2-mod-fastcgi php5-fpm
a2enmod actions fastcgi alias

 A na końcu zrestartować Apache :)