To je Ubuntu 9.04 server setup, ale mohly být použity na starších verzích, jak dobře a Debian pravděpodobně.
Existuje mnoho způsobů, jak nastavit takový server, ale to je můj způsob.
Doufám, že si na linuxtuts si to, stačí zkopírovat a vložit, a budete se přes v žádném okamžiku bytu.
A neváhejte začít téma v sekci Linux na veškeré dotazy a komentáře. (Budu přidávat nebo ubírat na to, jak vidím FIT)
Některé funkce tohoto nastavení jsou ..
1) Kompletní LAMP (apache, php, mysql, perl)
2) phpMyAdmin
3) Clamav
4) memcached A Memcache PHP5 Module
5) SSL-povoleny
6) apache moduly "suexec přepsat SSL akce patří a vyfouknout" povoleny
7) vsftpd (ftp server)
8) Awstats (s přidanými funkcemi)
9) Webmin (Control Panel)
Perfektní Server Setup Pokračování (část II)
10) Mail Server s Dovecot a Postfix integrace
11) TorrentFlux (Vaše vlastní SeedBox)
12) Moblock ("Moblock" je ipfilter / PeerGuardian 2 pro "linux".)
13) Jinzora Media Server (výkonný webový media streaming server)
Děkujeme linuxtuts.
POZNÁMKA: I použití nano editer. Existují dva příkazy, které potřebujete vědět, abyste mohli používat tuto editer.
1) Ctrl + O --------- šetří
2) Ctrl + x --------- východy editer (zavřít)
Takže vždy Ctrl + O a poté Ctrl + x, když vaše hotové
A do toho urvat "SecureCRT ®" Pst klienta zde. Její musí mít! (Pro mě tak jako tak, Putty a všichni ostatní nemají šanci s touto Pšt klientem.
Plus budete chtít podívejte se sem na několik velmi užitečných rad / a triky, než začnete.
Při instalaci Ubuntu Server, když přijde na software seletion zvolit pouze "openshh-server"
(Můžete také zapnout root přihlášení do provozu)
Konfigurace sítě
Protože instalátor Ubuntu má nastaven náš systém získat jeho nastavení sítě přes DHCP, musíme změnit, že nyní, protože server musí mít statickou IP adresu. Upravit / etc / network / interfaces a upravit ho pro své potřeby (v tomto případě nastavení budu používat adresu IP 192.168.1.19):
Kód:
nano / etc / network / interfaces
Kód:
# Tento soubor popisuje síťové rozhraní k dispozici ve vašem systému # a jak je aktivovat. Pro více informací viz interfaces (5). # Loopback síťové rozhraní eth0 auto iface eth0 inet statickou adresu 192.168.1.19 netmask 255.255.255.0 sítě 192.168.1.0 255.255.255.0 gateway 192.168.1.254 vysílání
Poté upravte / etc / hosts.
Ať je to vypadat takto:
Kód:
127.0.0.1 localhost 192.168.1.19 mail.b366alive.net localhost.localdomain mail # Následující řádky jsou žádoucí pro IPv6 může 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
Nyní spusťte
Kód:
echo mail.b366alive.net> / etc / hostname / etc / init.d / hostname.sh start
Pak restart sítě:
Kód:
/ Etc / init.d / networking restart
Poté spusťte
Obě by měly ukázat mail.b366alive.net nyní.
Pak spusťte
aktualizovat apt balíček databáze a
Kód:
aptitude bezpečné-upgrade
Změna výchozí Shell
/ Bin / sh je symlink na / bin / dash, ale potřebujeme / bin / bash, ne / bin / dash. Proto jsme to:
Kód:
dpkg-reconfigure dash
"Instalace dash jako / bin / sh? <- Ne"
.................................................. ..............................
Zakázat AppArmor
AppArmor je bezpečnostní rozšíření (podobně jako SELinux), které by měly poskytovat rozšířené bezpečnosti. Podle mého názoru, nemusíte jej konfigurovat bezpečný systém, a to obvykle způsobí více problémů než výhod (myslím, že to poté, co jste udělal týden trouble-shooting, protože některé služba byla nefunguje, jak se očekávalo, a pak zjistíte, že vše bylo ok, jen AppArmor byl příčinou problému). Proto jsem ji zakázat. ! (FTW)
Můžeme zakázat to takhle:
Kód:
/ Etc / init.d / AppArmor stop update-rc.d-f AppArmor odstranit aptitude remove AppArmor AppArmor-utils
Restartovat počítač!
Umožňuje instalovat nějaký software "vše v jednom příkazu", Fast rychlé a snadné.
Kód:
aptitude-y nainstalovat ssh openssh-server ntpdate ntp mysql-client mysql-server openssl rkhunter binutils clamav clamav-daemon zoo rozbalování bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-SASL-perl clamav-daemon docs libio-řetězec -perl libio-socket-ssl-perl libnet-Ident-perl zip libnet-DNS-perl kvóty quotatool vlogger Webalizer build-essential libtool autoconf automake1.9 flex bison fail2ban perl libnet-SSLeay-perl openssl libauthen-pam-perl libpam-runtime libio-PTY-perl libmd5-perl memcached php5-Memcache php5-dev podvracení apache2-common apache2 apache2.2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5 -mysql php5-imap php5-cli phpmyadmin php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-Manipulace libmail-mbox-messageparser-perl libgd-graph-perl spamassassin imagemagick libapache2-mod -suphp libgeo-ipfree-perl vsftpd python-crypto
Budete dotázáni na následující otázky:
"Nové heslo pro MySQL" root "uživatel: <- yourrootsqlpassword"
"Zopakujte heslo pro MySQL" root "uživatel: <- yourrootsqlpassword"
"Vytvoření adresáře pro on-line správu? <- Ne"
"Web server pro konfiguraci automaticky: <- apache2"
"Konfigurace databáze pro phpmyadmin se dbconfig-common? <- Ano"
"Heslo databáze správních Uživatel: <- yourrootsqlpassword"
"MySQL hesla aplikace pro phpmyadmin: <- yourrootsqlpassword"
.................................................. ..............................
Poté spusťte následující příkaz, aby Apache moduly suexec, přepisovat, ssl, deflaci akcí, a zahrnují:
(Můžete to udělat to takhle, ale já jsem zjistil, že ne vždy funguje, tak jsem to s druhým příkazem)
Kód:
a2enmod suexec přepsat ssl akce patří deflaci
Kód:
a2enmod přepsat, a2enmod ssl, a2enmod akce, a2enmod patří, a2enmod deflaci
Bezpečné phpMyAdmin odstraněním souboru / etc / phpmyadmin / htpasswd.setup souboru ...
Kód:
rm-f / etc / phpmyadmin / htpasswd.setup
... a odstraňte nebo zakomentujte následující části v souboru / etc / phpmyadmin / apache.conf:
Kód:
nano / etc / phpmyadmin / apache.conf
Kód:
[...] # # Povolit pro nastavení # <Directory /usr/share/phpmyadmin/setup> # <IfModule mod_authn_file.c> # # AuthType Základní AuthName "phpMyAdmin Setup" # AuthUserFile / etc / phpmyadmin / htpasswd.setup # < / IfModule> # Vyžadovat platného-uživatelského # </ Directory> [...]
Restart Apache poté:
Kód:
/ Etc/init.d/apache2 restart
Můžete přistupovat ke svému phpMyAdmin panel tím, že půjdete Kód:
http://yourserver.com/phpmyadmin nebo http://192.168.1.19/phpmyadmin
Použijte root a MySQL passwd se přihlásit.
.................................................. ....................
Pokud chcete použít "Kvótou" pro své uživatele, budete muset upravit / etc / fstab soubor .. (Mine vypadá takto (I zní, usrquota, grpquota na oddíl s přípojný bod /):)
Tady je moje
Kód:
# / Etc / fstab: static souborový systém informací. # # Použijte 'vol_id - uuid' pro tisk všeobecně jedinečný identifikátor # zařízení, což může být použit s UUID = jako robustnější způsob, jak název zařízení, #, která funguje i pokud disky jsou přidány a jsou odstraněny. Viz fstab (5). # # <file System> <mount bod> <typ> <volby> <dump> <pass> proc / proc proc výchozí 0 0 # / ho / dev/mapper/VolGroup00-LogVol00 během instalace UUID = 4c5883d6-2529 do 4858-87e8-34f83df86c3c / ext4 relatime, chyby = vylézt na-ro, usrquota, grpquota 0 1 # / boot je na / dev/sda1 UUID = během instalace fd8f5097-c4e3-4ba1-8f42-70f127f57768 / boot ext3 relatime 0 2 # swap byl on / dev/mapper/VolGroup00-LogVol01 během instalace UUID = 67f232eb-243d-424e-880c-9667845c0667 none swap sw 0 0 / dev/scd0 / media/cdrom0 UDF, iso9660 uživatele, noauto, exec, utf8 0 0
Kód:
touch / quota.user / quota.group chmod 600 / kvóty .* mount-o remount /
Kód:
quotacheck-avugm quotaon-avug
.................................................. ............
Chceme MySQL naslouchat na všech rozhraních, a to nejen localhost, proto jsme upravit / etc / mysql / my.cnf a zakomentujte řádek bind-address = 127.0.0.1:
Kód:
nano / etc / mysql / my.cnf
Kód:
[...] # Místo skip-sítí výchozí je nyní poslouchat jen na localhost #, které je více kompatibilní a není méně bezpečný. # Bind-address = 127.0.0.1 [...]
Pak jsme restart MySQL:
Kód:
/ Etc / init.d / mysql restart
Nyní zkontrolujte, že propojení je aktivní. Běh
Kód:
netstat-Tap | grep mysql
Výstup by měl vypadat takto:
root @ mail: ~ # netstat-Tap | grep mysql
tcp 0 0 *: mysql *: * POSLOUCHEJTE 8474/mysqld
root @ mail: ~ #
.................................................. ..............................
Nainstalujte Jailkit
Jailkit je potřeba pouze pokud chcete chroot SSH uživatelům. Může to být umístěny takto
Kód:
wget http://olivier.sessink.nl/jailkit/jailkit-2.7.tar.gz dehet xvfz jailkit-2.7.tar.gz CD jailkit-2.7. / configure make make install cd .. rm-rf jailkit-2.7 *
.................................................. ...............
OK, jsme již nainstalován memcached A Memcache PHP5 Module. Tak umožňuje test našeho nastavení.
Zkontrolujte, zda PHP5 jaký je aktuální stav ...
Za tímto účelem jsme se vytvořit soubor info.php v našem dokumentu root / var / www:
Kód:
nano / var / www / info.php
Zkopírujte a vložte tento ...
Kód:
<? Php phpinfo ();?>
Poté, říkáme, že soubor v prohlížeči: Kód:
http://192.168.1.19/info.php
Jak vidíte, máme PHP 5.2.0 nainstalovány ...
Memcached by již měl být spuštěn. Můžete si ověřit, že napsáním
Kód:
netstat-Tap | grep memcached
By měl vypadat nějak takhle ...
server1: ~ # netstat-Tap | grep memcached
tcp 0 0 localhost.localdo: 11211 *: * POSLOUCHEJTE 3092/memcached
server1: ~ #
Nyní umožňuje test Memcache v naší prohlížeči ...
Kód:
nano / var / www / memcachetest.php
Zkopírovat a vložit ...
Kód:
<? Php $ Memcache = new Memcache; $ Memcache-> connect ('localhost', 11211) or die ("Nelze se připojit"); $ version = $ Memcache-> getVersion (); echo "Server verze:". $ verze. "<br/> \\ n"; $ tmp_object = new stdClass; $ tmp_object-> str_attr = 'test', $ tmp_object-> int_attr = 123, $ Memcache-> set ('klíč', $ tmp_object, false, 10) or die ("Nepodařilo se uložit data na server"); echo "ukládat data do cache (data vyprší za 10 sekund) <br/> \\ n"; $ get_result = $ Memcache-> get ('klíč '); echo "Data z cache: <br/> \\ n"; var_dump ($ get_result);?>
Pak jsem zavolat, že soubor v prohlížeči Kód:
http://192.168.1.19/memcachetest.php
.................................................. ..............................
Configureing Awstats ...
Kód:
nano / etc/apache2/awstats.conf
Zkopírovat a vložit ...
Kód:
Alias / awstatsclasses "/ usr / share / awstats / lib /" Alias / awstats-icon / "/ usr / share / awstats / ikony /" Alias / awstatscss "/ usr / share / doc / awstats / examples / css" ScriptAlias / cgi-bin / / usr / lib / cgi-bin / ScriptAlias / awstats / / usr / lib / cgi-bin / Volby ExecCGI-MultiViews + SymLinksIfOwnerMatch
Nyní, když jsme definovat všechny základní nastavení, které nám umožní přístup statistiky přímo přes protokol HTTP, je nutné informovat o této apache2. Upravit / etc/apache2/apache2.conf:
Kód:
nano / etc/apache2/apache2.conf
a přidejte následující řádek na konec souboru:
Kód:
Zahrnout / etc/apache2/awstats.conf
Nyní reload apache2:
Kód:
/ Etc/init.d/apache2 reload
Ok, teď si můžete dát první výstřel na Kód:
http://www.mysite.org/awstats/awstats.pl
ale budete mít následující chybu:
Chyba: SiteDomain parametr není definován v config / doménu souboru. Musíte jej upravit pro použití této verze AWStats.
To v podstatě znamená, že musíme nastavit awstats.
Dostat se zpátky do práce ...
Na instalaci, AWStats poskytuje výchozí konfigurační soubor s názvem / etc / awstats / awstats.conf. Zkopírujte tento soubor do / etc / awstats / awstats.www.mysite.org.conf
mysite.org je například použít svůj vlastní název domény)
Kód:
cp / etc / awstats / awstats.conf / etc / awstats / awstats.www.mysite.org.conf
a upravovat soubory: / etc / awstats / awstats.conf a / etc / awstats / awstats.www.mysite.org.conf Změnou těchto parametrů do této podoby ...
Kód:
nano / etc / awstats / awstats.conf
A
Kód:
nano / etc / awstats / awstats.www.mysite.org.conf
Kód:
LogFile = "/ var/log/apache2/access.log" SiteDomain = "mysite.org" AllowToUpdateStatsFromBrowser = 1
Aktualizujte své statistiky se cron
V / etc / crontab přidat
Kód:
nano / etc / crontab
Kód:
# Update každých 10 min * / 10 * * * * root / usr / lib / cgi-bin / awstats.pl-config = toto.com-update> / dev / null
To je v podstatě to, ale pokud váš chytrý budete pokračovat se mnou na zlepšení země a města informace o poloze ve Vašem webovém Analytics ... (FTW Já vím, kdo a kde jste!)
Pak umožňuje získat balíčky ..
Kód:
wget wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz wget http:/ / geolite.maxmind.com / download / GeoIP / Databáze / asnum / GeoIPASNum.dat.gz wget http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
To
Kód:
if [! -D / usr / local / share / GeoIP], pak mkdir / usr / local / share / GeoIP fi
Potom ....
Kód:
mv GeoIP.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / GeoIP.dat.gz mv GeoLiteCity.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / GeoLiteCity.dat.gz mv GeoIPASNum.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / GeoIPASNum.dat.gz mv GeoIPv6.dat.gz / usr / local / share / GeoIP / gunzip / usr/local/share/GeoIP/GeoIPv6.dat.gz
Pak jsme se ...
Kód:
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz tar-xvzf GeoIP-1.4.6.tar.gz cd ./GeoIP-1.4.6 /. configure make make check sudo make install
Nyní vám umožní instalovat některé moduly Perlu ...
Spustit ...
Pak umožňuje upgrade CPAN
Konec do ...
Nyní vám umožní upravit naše "/ etc / awstats / awstats.conf a / etc / awstats / awstats.www.mysite.org.conf "Soubory znovu ... Přidáním těchto řádek do" plugins "Oddíl ....
Kód:
LoadPlugin = "bublinové nápovědy" LoadPlugin = "GeoIP GEOIP_STANDARD / usr / local / share / GeoIP / GeoIP.dat" LoadPlugin = "geoip_city_maxmind GEOIP_STANDARD / usr / local / share / GeoIP / GeoLiteCity.dat" LoadPlugin = "geoip_org_maxmind GEOIP_STANDARD / usr / local / share / GeoIP / GeoIPASNum.dat "LoadPlugin =" hostinfo "
To je to lidi, jděte update awstats ve vašem prohlížeči a vidět rozdíl .....
Přejít na AWStats ve vašem prohlížeči Kód:
http://yourdomain.com/awstats/awstats.pl nebo http://192.168.1.19/awstats/awstats.pl
.................................................. ..............................
Configureing vsftpd ..
To jsou některé z možností zde
ftpd_banner: Vytiskne uvítací zprávu, když někdo připojí k serveru.
Poslechněte si: Pokud je povoleno, vsftpd poběží v samostatném režimu.
xferlog_enable: Pokud je povoleno, log soubor bude ukládat detailní obrázky a soubory ke stažení.
connect_from_port_20: Tato možnost určuje, zda PORT styl datové připojení použít port 20 na serveru.
hide_ids: Pokud je povoleno, budou všechny uživatele a informace o skupině je uvedena jako "ftp".
max_client: Nastaví maximální počet klientů, možnost připojení. Pracuje pouze v samostatném režimu.
max_per_ip: Nastaví maximální počet klientů, možnost připojení ze stejné IP adresy. Také pracuje pouze v samostatném režimu.
anon_root: Nastavuje adresář, který vsftpd pokusí změnit v případě anonymní uživatel přihlásí palců
anonymous_enable: Povolí nebo zakáže anonymní přístup. Použít se zvýšenou opatrností.
anon_upload_enable: Pokud je povoleno, bude anonymní uživatelé povoleno vkládat.
anon_mkdir_write_enable: Pokud je povoleno, bude anonymní uživatelé povoleno vytvářet nové složky. Nicméně, pro tuto možnost pracovat, váš server potřebuje mít možnost anonymní upload povolena a ftp * NIX uživatel musí napsat oprávnění nadřazeného adresáře.
Kód:
nano / etc / vsftpd.conf
Přidejte následující řádek (odkomentovat řádek) na vsftpd konfigurační soubor:
Nad config směrnice umožní místním uživatelům přihlásit se přes ftp
Pokud byste chtěli, aby uživatel mohl nahrát soubor, přidejte následující do souboru:
[Code] write_enable = YES [/ code]
Z bezpečnostních můžete omezit lokální uživatelé do svých domovských adresářů. Přidejte následující do souboru:
Kód:
chroot_local_user = YES
Uložte a zavřete soubor.
Restart vsftpd
Kód:
/ Etc / init.d / vsftpd restart
Přihlaste se na svůj ftp server s Kód:
ftp://yourdomain.com nebo ftp://192.168.1.19
.................................................. ..............................
Instalace a Configureing Webmin, líbí se mi to lepší než cPanel sám ...
Instalovat a aktualizovat přes Webmin APT, upravte / etc / apt / sources.list na vašem systému a přidejte řádek: (To je pro ubuntu)
Kód:
nano / etc / apt / sources.list
Kód:
deb http://download.webmin.com/download/repository sarge contrib
Také byste měli vyzvednout a nainstalovat GPG klíč, s nimiž je podepsán úložiště, s příkazy:
Kód:
cd / root wget http://www.webmin.com/jcameron-key.asc apt-key přidat jcameron-key.asc
Ty budou nyní moci nainstalovat s příkazy:
Kód:
apt-get update apt-get-y nainstalovat webmin
Nyní můžete jít do Kód:
https: / / yoursite.com: 10000 nebo https: / / 192.168.1.19:10000
přístup k vašemu serveru. (Přihlásit se root a vaše passwd)
(Upozorňujeme, zatížení CPU na mém serveru) Sakra, že kluci dobrý!
Tam jsou všechny druhy modulů pro Webmin, ale jsme jen chystáte instalovat pár ... (Můžete nainstalovat, co cítíte, je nessary)
Tyto dva budeme instalovat, jsou "vsftpd" a "wbmclamav" ...
Podívejte se na levé straně Webmin a jít
1) Webmin
2) Webmin konfigurace
V "Webmin Configuration" vyberte sekci ...
3) Webmin moduly
šek "třetí stranou modulu" a stiskněte tlačítko na konci ...
4) Vyhledávání wbmclamav
pak hit instalovat modul. (Při prvním spuštění "wbmclamav", budete muset zálohovat konfiguraci.)
5) Tento postup opakujte pro "vsftpd" modulu.
HOTOVO! Nyní máte GUI skenovat všechny soubory nastavit tak, aby provoz na scedule atd.. (Co-kdy chcete)
Máte úplnou kontrolu nad všemi aspekty vám server nyní skrze "Webmin" ...
Pokračování Zde
Užijte si .........
Mír ..................... linuxtuts
Záložky