W dzisiejszym poradniku pokaże wam jak zainstalować ISP Config na Debianie oraz Ubuntu. ISP Config jest darmowym oprogramowanie które może nam posłużyć do zarządzania serwerem, może być ono alternatywą płatnych panelu typu cpanel czy direct admin.
Instalacja Systemu Debian
Instalacje systemu przedstawiłem we wcześniejszym poradniku, więc proszę się stosować do tego poradnika, z tym że instalujemy wszystkie role prócz laptopa i środowiska graficznego gdyż to tylko zajmuje miejsce na dysku.
Konfiguracja systemu
Pierwszym co zainstalujemy będzie ssh, co pozwoli się nam w późniejszych etapach łączyć się zdalnie z naszym serwerem. Aby to zainstalować w terminalu jako użytkownik root (su) wpisujemy:
apt-get install ssh openssh-server
Konfiguracja sieci
Następnym krokiem w naszej instalacji będzie skonfigurowanie sieci, skonfigurujemy ją tak aby nasz system używał zawsze jednego i tego samego IP. W moim przypadku IP to 192.168.1.100, w swoim przypadku użyj (jeśli posiadasz) zewnętrznego IP które pozwoli odnaleźć twój serwer w sieci. Aby edytować ustawienia wpisujemy komendę:
nano /etc/network/interfaces
Nano jest edytorem tekstu, jest on bardzo prosty w obsłudze. Jesli nasz system nie posiada tego edytora nalezy go zainstalowac nastepujacym poleceniem:
apt-get update
apt-get upgrade
apt-get install nano
Jeśli już otworzyliśmy nasz plik to edytujemy go:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.0.255
gateway 192.168.1.1
Plik zapisujemy wciskając klawisza CRL+O po czym zamykamy plik klikając CRL + X, jeśli wszystko wpisaliśmy poprawnie resetujemy naszą karte sieciową wpisując w terminalu komendę:
/etc/init.d/networking restart
Po czym edytujemy kolejny plik, tym razem host
nano /etc/hosts
Powinien on wyglądać tak:
127.0.0.1 localhost.localdomain localhost 192.168.1.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Przy czym IP 192.168.1.100 jest twoim IP które wpisałeś podczas konfiguracji sieci, następnie wpisujemy:
echo server1.example.com > /etc/hostname /etc/init.d/hostname.sh start
Przy czym server1.example.com musi zostać zastąpiony domeną podaną w pliku host który edytowaliśmy wcześniej. Kolejną czynnością jest sprawdzenie czy host i hostname mają poprawne domeny, w rezultacie powinieneś otrzymać dwu krotnie tą samą odpowiedz ze strony serwera którą jest twoja domena.
Wpisujemy:
hostname
hostname -f
Aktualizacja Instalacji Debiana
Kolejnym etapem naszej konfiguracji będzie zaktualizowanie naszej instalacji Debiana oraz zainstalowanie antywirusa clamav.
Wpisujemy:
nano /etc/apt/sources.list
Po czym do pliku sources.list dopisujemy:
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
Po czym uruchamiamy aktualizacje wpisując kolejno:
apt-get update
apt-get ugrade
Synchronizowanie zegara
Kolejną czynnością będzie zsynchronizowanie zegarka z NTP (network time protocol).
Wpisujemy:
apt-get install ntp ntpdate
Od tej pory twój zegarek systemowy będzie zawsze aktualny.
Instalacja Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils
W tym etapie instalujemy między innymi, bazę danych MySQL, phpmyadmin itp.
Wpisujemy:
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
Podczas instalacji zostaniemy zapytani o kilka drobiazgów typu:
New password for the MySQL “root” user: // hasło dla użytkownika root
Repeat password for the MySQL “root” user: // Hasło dla bazy danych MySQL
Create directories for web-based administration? // No
General type of mail configuration: // Internet Site
System mail name: // server1.example.com – zastąp swoją domeną
SSL certificate required // Ok
Kolejnym krokiem będzie edytowanie ustawień bazy danych tak aby nie była ona dostępna tylko z localhost
W tym celu wpisujemy polecenie:
nano /etc/mysql/my.cnf
Po czym odnajdujemy linie:
bind-address = 127.0.0.1
I przed bind.. wstawiamy kratkę (#). Powinno to wyglądać tak:
[...] # 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 [...]
Następnie resetujemy MySQL, wpisując polecenie:
/etc/init.d/mysql restart
Teraz sprawdzamy czy nasza sieć jest włączona:
netstat -tap | grep mysql
Odpowiedz powinna wyglądać jak ta:
server1:~# netstat -tap | grep mysql tcp 0 0 *:mysql *:* LISTEN 6612/mysqld server1:~#
Idąc dalej instalujemy certyfikaty SSL dla IMAP-SSL i POP3-SSL.
Wpisujemy:
cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
po czym modyfikujemy te dwa pliki, zamieniając localhost na naszą domenę:
nano /etc/courier/imapd.cnf
Powinno to wyglądać jak poniżej:
[...] CN=server1.example.com [...]
edytujemy drugi plik:
nano /etc/courier/pop3d.cnf
Powinno to wyglądać jak poniżej:
[...] CN=server1.example.com [...]
Zapisujemy plik i przechodzimy do dalszej konfiguracji systemu. Kolejnym krokiem jest ponowne stworzenie certyfikatów, tworzymy je wpisując:
mkimapdcert
mkpop3dcert
Na koniec resetujemy Courier-IMAP-SSL i Courier-POP3-SSL;
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart
Instalacja Amavisd-new, SpamAssassin oraz Clamav
Kolejnym krokiem w konfiguracji jest zainstalowanie filtrów anty-spamowych oraz antywirusa, aby to zrobić wpisujemy:
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
Instalacja Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, oraz mcrypt
Następnym krokiem będzie zainstalowanie apache oraz kilku innych drobiazgów do obsługi stron www, instalujemy je wpisując:
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
Podczas instalacji zostaniemy zapytani co ma zostać ponownie skonfigurowane, tutaj wybieramy apache2 i przechodzimy dalej.
Web server to reconfigure automatically: // apache2
Następnie wpisujemy następującą komendę:
a2enmod suexec rewrite ssl actions include
Uruchomi ona moduły apache.
Instalujemy PureFTPd oraz Quota
Instalujemy je następującą komendą:
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
Po czym edytujemy plik pure-ftpd-common:
nano /etc/default/pure-ftpd-common
po czym zmieniamy inetd na standalone i VIRTUALCHROOT=true:
[...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
Kolejnym plikiem który będziemy edytowali jest inetd.conf:
nano /etc/inetd.conf
Do lini rozpoczynającej się z ftp stream tcp
[...] #:STANDARD: These are standard services. #ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper [...]
Resetujemy inetd:
/etc/init.d/openbsd-inetd restart
Po czym uruchamiamy PureFTPd:
/etc/init.d/pure-ftpd-mysql start
Edytujemy /etc/fstab
nano /etc/fstab
Powinno wyglądać jak poniżej:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1 /dev/sda5 none swap sw 0 0 /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Po czym wpisujemy:
touch /quota.user /quota.group chmod 600 /quota.* mount -o remount /
quotacheck -avugm quotaon -avug
Instalacja MyDNS
Przed instalacja MyDNS musimy zainstalować kilka niezbędnych dodatków:
apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
MyDNS nie jest dostępny w pakietach Debian Lenny lecz można go pobrać z zewnątrz w tym celu wpisujemy:
cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
tar xvfz mydns-1.2.8.25.tar.gz
cd mydns-1.2.8.25
./configure
make
make install
Następnie tworzymy pliki typu start/stop
nano /etc/init.d/mydns
i wklejamy to co poniżej:
#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Philipp Kern <phil@philkern.de>.
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
# <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/mydns
NAME=mydns
DESC="DNS server"
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --oknodo --quiet \
--exec $DAEMON
echo "."
;;
reload|force-reload)
echo -n "Reloading $DESC configuration..."
start-stop-daemon --stop --signal HUP --quiet \
--exec $DAEMON
echo "done."
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo \
--exec $DAEMON
sleep 1
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Następnie ustawiamy aby MyDNS uruchamiał się przy starcie sytemu:
chmod +x /etc/init.d/mydns update-rc.d mydns defaults
Instalacja Vlogger i Webalizer
apt-get install vlogger webalizer
Po zainstalowaniu edytujemy plik konfiguracyjny:
nano /etc/webalizer/webalizer.conf
i zmieniamy z No na Yes:
#Incremental no
Zmieniamy na:
Incremental yes
Instalacja Jailkit
Jailkit musi być zainstalowany przed ISP Config nie po, instalujemy go nastepujaco:
apt-get install build-essential autoconf automake1.9 libtool flex bison
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*
Instalacja fail2ban
Jest to nie wymagany lecz zalecany dodatek.
apt-get install fail2ban
Instalacja Webmaila
Jako webmail posłuży nam SquirrelMail:
apt-get install squirrelmail
następni tworzymy skrót do maila:
ln -s /usr/share/squirrelmail/ /var/www/webmail
Po czym konfigurujemy:
squirrelmail-configure
Na początku wciśnij D po czym wpisz courier następnie wciskamy dowolny klawisz po czym zapisujemy (S) i wychodzimy (Q) Webmail będzie pod adresem http://twoje_ip/webmail oraz http://twoja_domena/webmail
Instalacja ISP Config 3
Po długiej konfiguracji przechodzimy do instalacji naszego panelu:
cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.2.tar.gz
tar xvfz ISPConfig-3.0.3.2.tar.gz
cd ispconfig3_install/install/
ISPConfig-3.0.3.2.tar.gz zamień z najnowszą dostępną wersją. Następnie przechodzimy do instalacji:
php -q install.php
>> Initial configuration Operating System: Debian Lenny/Sid or compatible
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in ”quit” (without the quotes) to stop the installer. Select language (en,de) [en]: // ENTER
Installation mode (standard,expert) [standard]: // ENTER
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: // ENTER
MySQL server hostname [localhost]: // ENTER
MySQL root username [root]: // ENTER
MySQL root password []: //Hasło do bazy MySQL
MySQL database to create [dbispconfig]: // ENTER
MySQL charset [utf8]: // ENTER
Generating a 2048 bit RSA private key ……………………………………………………………………………………………………+++ ……………………………………………………………………………………………+++ writing new private key to ’smtpd.key’ —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ’.', the field will be left blank. —–
Country Name (2 letter code) [AU]: // ENTER
State or Province Name (full name) [Some-State]: // ENTER
Locality Name (eg, city) []: <– ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: // ENTER
Organizational Unit Name (eg, section) []: // ENTER
Name (eg, YOUR name) []: // ENTER
Email Address []: // ENTER
Configuring Jailkit Configuring SASL Configuring PAM Configuring Courier Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring Pureftpd Configuring MyDNS Configuring Apache Configuring Firewall Installing ISPConfig ISPConfig Port [8080]: // ENTER
Configuring DBServer Installing Crontab no crontab for root no crontab for getmail Restarting services … Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables.. Stopping Postfix Mail Transport Agent: postfix. Starting Postfix Mail Transport Agent: postfix. Stopping SASL Authentication Daemon: saslauthd. Starting SASL Authentication Daemon: saslauthd. Stopping amavisd: amavisd-new. Starting amavisd: amavisd-new. Stopping ClamAV daemon: clamd. Starting ClamAV daemon: clamd . Stopping Courier authentication services: authdaemond. Starting Courier authentication services: authdaemond. Stopping Courier IMAP server: imapd. Starting Courier IMAP server: imapd. Stopping Courier IMAP-SSL server: imapd-ssl. Starting Courier IMAP-SSL server: imapd-ssl. Stopping Courier POP3 server: pop3d. Starting Courier POP3 server: pop3d. Stopping Courier POP3-SSL server: pop3d-ssl. Starting Courier POP3-SSL server: pop3d-ssl. Restarting web server: apache2 … waiting . Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -A -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -b -B Installation completed. server1:/tmp/ispconfig3_install/install#
W tym momencie nasz panel został zainstalowany i bedzie dostępny po http://twoja_domena:8080 oraz http://twoje_IP:8080 Domyślne dane logowania to: Login: admin pass: admin
Uwagi koncowe:
Jesli po zainstalowaniu w naszym panelu mydns jest na czerwono zainstaluj go wg tego poradnika.
Podsumowując
Instalacja tego panelu może zająć dość sporo czasu, lecz można powiedzieć ze było warto.
© 2010 – 2011, lukaszfr. Kopiowanie poradników dozwolone jedynie za podaniem źródła.
Related posts:

Jedyna dobra instalacja tylko bym uaktualnił wszystkie pakiety na chwilę obecną 01.2011 jak ISPConfig do wersji 3.0.3.2 Jailkit do wersji 2.13 oraz MyDNS do wersji 1.2.8.27 (wszystkie wersje stable)
Dla laika jak ja (dobrze że miałem jakąś małą szkołe z linuxem) porozdzielał bym ścieżki komend takie jak :
apt-get install build-essential autoconf automake1.9 libtool flex bison cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz tar xvfz jailkit-2.5.tar.gz cd jailkit-2.5 ./configure make make install cd .. rm -rf jailkit-2.5*
powinny być :
apt-get install build-essential autoconf automake1.9 libtool flex bison
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
Pozdrawiam
coś jakby przetłumaczone … http://www.howtoforge.com/perfect-server-debian-squeeze-with-bind-and-courier-ispconfig-3
warto podmienić mydns na bind9
zapomniano o konfiguracji autoryzacji serwera dns :/ bieda
Swojego czasu był podany link do oryginalnego poradnika ale nie wiem gdzie znikną
Oryginalny poradnik zniknął, gdyż aktualnie wzbogacony o screeny i opisy na 333 stronach jest sprzedawany po 5 Euro przez wydawcę. Napracowali się z dokumentacją i zbierają na piwo
Oryginalny poradnik dalej jest dostępny
.. starczy nieco zjechać w dół.
Czy piszemy o tym samym Manualu do ISPConfig 3 ?? Na stronie projektu znajduje tylko informację “A single copy costs 5 EUR”
Wracając do sedna sprawy mam pewien problem który dopadł mnie przy instalacji PureFTPd i Quota. Mianowicie na moim VPS’ie zastałem pusty plik /etc/fstab z komentarzem, iż konfiguracji brak
Opierając się na informacjach z sieci stwierdziłem, że dopiszę tam coś ręcznie, ale w tym celu potrzebuje sprawdzić nazwę dysku/partycji. Jak się jednak okazało nie ma również pliku /proc/partitions
Problem dosyć mało spotykany więc może ktoś ma jakiś pomysł na rozwiązanie sprawy ??