Esta é unha configuración de servidor Ubuntu 9.04, pero podería ser usado en versións máis antigas, así e probablemente Debian.
Hai moitas formas de configurar un servidor, pero como este é o meu camiño.
Espero que goza de linuxtuts iso, basta con copiar e pegar, e vai ser a través de en ningún momento plana.
E Sinto-se a liberdade de iniciar un tema na sección de Linux para todos e os comentarios e preguntas. (Vou engadir ou aproveitar isto como eu ve o axuste)

Algunhas das características desta configuración son ..
1) Complete lámpadas Stack (apache, php, mysql, perl)
2) phpMyAdmin
3) Clamav
4) E o memcached memcache PHP5 Module
5) O SSL-habilitado
6) apache modules "suexec reescribir accións SSL e inclúen deflate" habilitado
7) vsftpd (servidor FTP)
8) Awstats (con recursos adicionais)
9) Webmin (Control)
The Perfect Server Setup Continúa (parte II)
10) Mail Server con Dovecot e integración Postfix
11) TorrentFlux (O seu propio seedbox)
12) Moblock ("Moblock" é un ipfilter / PeerGuardian 2 para "Linux").
13) Jinzora Media Server (unha poderosa rede baseada streaming media server)

Grazas linuxtuts.

Nota: Eu uso o editar nano. Existen dous comandos que precisa saber para usar o editar.
1) Ctrl + S salva ---------
2) Ctrl + x --------- saídas editar o (pechar)
Polo tanto, sempre o Ctrl + e, a continuación, Ctrl + x cando rematar o seu


E vai adiante tome "SecureCRT ® cliente" shh aquí. É un debe ter! (Polo menos para min, putty e todo o resto non ten a menor oportunidade con este cliente shh.


Ademais, podes querer ollar para aquí algunhas suxestións moi útiles / Truques e antes de comezar.

Cando se instala o Ubuntu Server, cando vén para seletion software só escoller "server-openshh"



(Tamén pode permitir o login como root, executando)
Código:
sudo passwd root
Configurar a Rede

Porque o instalador de Ubuntu configurou o sistema para obter a configuración da súa rede por DHCP, temos que cambiar isto agora, porque un servidor que ter un enderezo IP estático. Edita o arquivo / etc / network / interfaces e axuste ás súas necesidades (neste exemplo de configuración eu vou usar o enderezo IP 192.168.1.19):

Código:
nano / etc / network / interfaces
Código:
# Este ficheiro describe os interfaces de rede dispoñibles no sistema # e como activa-los. Para obter máis información, consulte a sección interfaces (5). # O loopback auto eth0 iface interface de rede inet static enderezo eth0 192.168.1.19 netmask 255.255.255.0 broadcast 192.168.1.0 rede 255.255.255.0 pasarela 192.168.1.254
A continuación, editar o ficheiro / etc / hosts.

Código:
nano / etc / hosts
Facelo coma este:

Código:
127.0.0.1 localhost localhost.localdomain 192.168.1.19 mail mail.b366alive.net # As liñas seguintes son desexables para máquinas capaces de IPv6:: 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
Agora executa
Código:
echo> mail.b366alive.net / etc / hostname / etc / init.d / start hostname.sh
A continuación, reinicie a súa rede:
Código:
/ Etc / init.d / networking reiniciar
A continuación, realice
Código:
hostname hostname-f
Ambos deben amosar mail.b366alive.net agora.
A continuación, realice
Código:
aptitude update
para actualizar a base de datos e paquetes apt
Código:
aptitude Safe-upgrade
O cambio Shell estándar
/ Bin / sh é unha ligazón simbólica a / bin / dash, pero necesitamos / bin / bash, non / bin / dash. Polo tanto, faga o seguinte:
Código:
dpkg-reconfigure colisión
"Instalar dash como / bin / sh? <- Non"
.................................................. ..............................

Desactivar AppArmor

AppArmor é unha extensión de seguridade (semellante ao SELinux), que debería proporcionar seguridade estendida. Na miña opinión, non necesita del para configurar un sistema seguro, e que xeralmente provoca máis problemas que vantaxes (pense niso despois de ter feito unha semana de resolución de problemas, porque algúns servizos non estaba funcionando como esperaba, e entón descubrir que todo estaba ok, só o AppArmor estaba causando o problema). Polo tanto, eu desativá-lo. ! (FTW)
Podemos desativá-lo así:
Código:
/ Etc / AppArmor stop / init.d / update-rc.d-f AppArmor eliminar aptitude remove AppArmor AppArmor-utils
Reinicia-la máquina!

Permite instalar algún software "todo en un" mando, Fast fácil e rápida.

Código:
aptitude-y install openssh-server NTP ntpdate ssh rkhunter OpenSSL mysql client-server mysql-binutils clamav unzip zoo servizo clamav-arj BZIP2 lzop nomarca cabextract apt-listchanges libnet-LDAP-perl libauthen-sasl-perl servizo clamav-docs líbio-corda -perl líbio-socket-SSL-perl libnet-identidade-perl zip libnet-DNS-perl cota webalizer vlogger quotatool build-essential autoconf fail2ban libtool flex Bison automake1.9 libnet-perl-perl OpenSSL SSLeay libauthen-pan-perl libpam-Runtime líbio-Pty-perl-perl libmd5 memcached PHP5-memcache subversión PHP5-dev apache2-common apache2 apache2.2-doc apache2-mpm-prefork apache2-utils libexpat1 SSL-cert libapache2-mod-PHP5 PHP5 PHP5-common PHP5 PHP5-GD PHP5-mysql phpmyadmin IMAP-PHP5-cli PHP5-cgi libapache2-mod-fcgid apache2-suexec php-Peares php-mcrypt auth-PHP5 PHP5-mcrypt Imagick ImageMagick spamassassin libmail-mbox messageparser-perl libgd-Graph-perl libapache2-mod -suPHP libgeo-ipfree vsftpd-perl python-crypto
Será pregunte sobre as seguintes cuestións:

"Novo contrasinal para o root" MySQL "user: <- yourrootsqlpassword"
"Repita o contrasinal para o root" MySQL "user: <- yourrootsqlpassword"
"Crear directorio para a administración baseada na web? <- Non"
"O servidor web a reconfigurar automaticamente: <- apache2"
"Base de datos para configurar o phpmyadmin co dbconfig-common? <- Si"
"Contrasinal de usuario administrativo base de datos: <- yourrootsqlpassword"
"Contrasinal aplicación MySQL para phpmyadmin: <- yourrootsqlpassword"

.................................................. ..............................

A continuación, executa o seguinte comando para activar o Apache módulos suexec, reescribir, SSL, accións de baleirar, e inclúen:
(Podes facelo así, pero descubrín que el non sempre funciona, entón eu fago isto co segundo orde)
Código:
a2enmod reescribir suexec accións SSL inclúen deflate
Código:
a2enmod reescribir; SSL a2enmod; accións a2enmod; inclúen a2enmod; a2enmod desinflar
Secure phpMyAdmin borrar o ficheiro / etc / phpmyadmin / htpasswd.setup arquivo ...
Código:
rm-f / etc / phpmyadmin / htpasswd.setup /
... e eliminar ou comentar a seguinte sección no / etc / phpmyadmin / apache.conf:
Código:
nano / etc / phpmyadmin / apache.conf
Código:
[...] # # # Autorizar a instalación <Directory /usr/share/phpmyadmin/setup> # <IfModule mod_authn_file.c> # # AuthType Basic AuthName "phpMyAdmin instalación" # AuthUserFile / etc / phpmyadmin / htpasswd.setup / # < / IfModule> # require Valid-user # </ Directory> [...]
Reinicie o Apache despois:
Código:
/ Etc/init.d/apache2 restart
Podes acceder ao panel phpMyAdmin, indo a
Código:
 http://yourserver.com/phpmyadmin ou http://192.168.1.19/phpmyadmin
Use a súa raíz e mysql passwd a login.
.................................................. ....................

Se quere usar "Cota" para os seus usuarios terá que editar o ficheiro / etc / fstab .. (a miña é así (eu engadir, usrquota, grpquota para a partición co punto de montaxe /):),
Código:
nano / etc / fstab
Aquí é meu
Código:
# / Etc / fstab: sistema de información de arquivo estático. # # Use 'vol_id - uuid' para imprimir o identificador único universal dende dispositivos #, que pode ser usado con UUID = como unha forma máis robusta de nome # devices que funciona mesmo Se os discos son engadidos e eliminar. Vexa fstab (5). # # <file System> <mount point> <type> <options> <dump> <pass> proc / proc proc defaults 0 0 # / estaba / dev/mapper/VolGroup00-LogVol00 durante a instalación UUID = 4c5883d6-2529-4858-87e8-34f83df86c3c / Ext4 relatime, errors = remount-ro, usrquota, grpquota 1 # 0 / boot foi on / dev/sda1 UUID = durante a instalación fd8f5097-c4e3-4ba1-8f42-70f127f57768 / boot ext3 relatime 0 2 # intercambio estaba en / dev/mapper/VolGroup00-LogVol01 durante a instalación do UUID = 67f232eb-424e-880c-9667845c0667 none intercambio 243d-sw 0 0 / dev/scd0 / media/cdrom0 UDF, iso9660 user, noauto, exec utf8 0 0
Código:
/ Quota.user touch / quota.group chmod 600 / cota .*- o remount mount /
Código:
-Avugm quotacheck quotaon-avug
.................................................. ............

Queremos MySQL para escoitar todas as interfaces, non só localhost, polo que editar o ficheiro / etc / mysql / my.cnf e comentar a liña BIND-address = 127.0.0.1:
Código:
nano / etc / mysql / my.cnf
Código:
[...] En vez de # skip-networking o estándar é agora a escoitar só no número localhost que é máis compatible e non está menos seguro. # BIND-address = 127.0.0.1 [...]
A continuación, reiniciar o MySQL:
Código:
/ Etc / init.d / mysql reiniciar
Agora comproba que a rede está habilitada. Correr
Código:
mysql netstat-tap | grep
O resultado debe ser coma este:

mail administrador @: ~ # netstat-tap mysql grep |
Listen tcp 0 0 *: mysql *: * 8474/mysqld
root @ e: ~ #
.................................................. ..............................

Instala Jailkit

Jailkit é tes que se quere usuarios chroot SH. Pode ser instalado do seguinte xeito
Código:
tar xvfz jailkit http://olivier.sessink.nl/jailkit/jailkit-2.7.tar.gz wget-2.7.tar.gz cd jailkit-2.7. / configure make make install cd .. rm-rf jailkit-2.7 *
.................................................. ...............

OK, xa instalado E o memcached memcache PHP5 Module. Entón, imos probar noso contorno.
Comprobe o estado actual PHP5 ...
Para facer isto, creamos o arquivo info.php na raíz do noso documento de / var / www:
Código:
nano var / www / info.php /
Copia e pega este ...
Código:
<? PHP phpinfo ();?>
Despois, chamamos ese ficheiro nun navegador:
Código:
 http://192.168.1.19/info.php
Como ve, temos o PHP 5.2.0 instalado ...
Memcached xa debería estar funcionando. Podes comprobar que escribindo
Código:
Tap | grep netstat-memcached
Se coma este ...
server1: ~ | # Preme netstat-grep memcached
localhost.localdo tcp 0 0: 11211 *: * Listen 3092/memcached
server1: ~ #

Agora imos memcache proba no noso navegador ...
Código:
nano var / www / memcachetest.php /
Copia e pega este ...
Código:
<? PHP memcache $ = Memcache novo; $ memcache> localhost ('contacto', 11211) or die ("Non se puido conectar"); $ version = memcache> getVersion $ (); echo "a versión Server:". $ ". <br/> \\ n"; $ tmp_object versión = new stdClass; tmp_object> str_attr $ = 'proba'; tmp_object> int_attr $ = 123; memcache-> set $ ('clave', tmp_object $ falsas, 10) or die ("Non se puido gardar datos no servidor"); echo almacenamento de datos "no caché (datos expirará en 10 segundos) \\ n <br/>"; get_result $ = $> comezar memcache (tecla ' '); echo "Os datos do caché: \\ n <br/>"; ($ get_result var_dump);?>
Entón, eu chamo o ficheiro nun navegador
Código:
 http://192.168.1.19/memcachetest.php
.................................................. ..............................

Awstats Configureing ...
Código:
nano / etc/apache2/awstats.conf
Copia e pega este ...
Código:
Alias / awstatsclasses "/ usr / share / awstats / lib /" Alias / awstats icona / "/ usr / share / awstats / icon /" Alias / awstatscss "/ usr / share / doc / awstats / examples / css" ScriptAlias / cgi-bin / usr / lib / cgi-bin / ScriptAlias / awstats / usr / lib / cgi-bin / Opcións ExecCGI-MultiViews + SymLinksIfOwnerMatch
Agora que nós definimos todas as definicións de base que nos permita o acceso a estatísticas directamente sobre http, necesitamos saber apache2 sobre iso. Editar etc/apache2/apache2.conf /:
Código:
nano / etc/apache2/apache2.conf
e engade a seguinte liña ao final do arquivo:
Código:
Inclúe etc/apache2/awstats.conf /
Agora, volver cargar o apache2:
Código:
/ Etc/init.d/apache2 reload
Ok, agora pode dar un primeiro tiro para
Código:
 http://www.mysite.org/awstats/awstats.pl
pero vai ter o seguinte erro:
Erro: SiteDomain parámetro non é definido no seu arquivo config / dominio. Debería Edit-lo para usar esta versión do AWStats.

Isto basicamente significa que necesitamos configurar awstats.
Voltar ao traballo ...
Na instalación, awstats ofrece unha configuración por defecto de arquivo chamado / etc / awstats / awstats.conf. Copia este ficheiro para o / etc / awstats / awstats.www.mysite.org.conf mysite.org é un exemplo, usar o seu propio nome de dominio)

Código:
cp / etc / awstats / awstats.conf / etc / awstats / awstats.www.mysite.org.conf
e editar os ficheiros: / etc / awstats / awstats.conf e / etc / awstats / awstats.www.mysite.org.conf cambiando eses parámetros para ollar coma este ...
Código:
nano / etc / awstats / awstats.conf
E
Código:
nano / etc / awstats / awstats.www.mysite.org.conf
Código:
LogFile = "/ var/log/apache2/access.log" SiteDomain = "mysite.org" AllowToUpdateStatsFromBrowser = 1
Actualiza os teus datos estatísticos co Cron

En / etc / crontab engadir
Código:
nano / etc / crontab
Código:
# Actualización cada min * 10/10 * * * * root / usr / lib / cgi-bin /-config = toto.com actualización-> awstats.pl / dev / null
Isto é basicamente iso, pero se é intelixente vai continuar comigo para mellorar o país e información sobre a localización da cidade no seu web Analíticas informes ... (FTW sei quen é e onde está!)
Código:
cd / tmp
Entón imos ir os paquetes ..
Código:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz wget wget wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz http:/ / / descarga geolite.maxmind.com geoip / / base de datos asnum / GeoIPASNum.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz wget
A iso
Código:
if [! -D / usr / local / share / GeoIP], entón mkdir / usr / local / share / GeoIP fi
Entón ....
Código:
GeoIP.dat.gz mv / usr / local / share / GeoIP gunzip / usr / local / share / GeoIP / GeoIP.dat.gz GeoLiteCity.dat.gz mv / usr / local / share / GeoIP gunzip / usr / local / share / GeoIP / GeoLiteCity.dat.gz GeoIPASNum.dat.gz mv / usr / local / share / GeoIP gunzip / usr / local / share / GeoIP / GeoIPASNum.dat.gz GeoIPv6.dat.gz mv / usr / local / share / GeoIP gunzip / usr/local/share/GeoIP/GeoIPv6.dat.gz /
A continuación, ...
Código:
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 sudo make install selección
Agora imos instalar algúns módulos Perl ...
Executar ...
Código:
perl-MCPAN shell-e
Entón imos actualizar CPAN
Código:
instalar CPAN
Código:
instalar Net: IP
Código:
instalar Net:: DNS
Saír por ...
Código:
desistir
Agora imos editar o noso "/ etc / awstats / awstats.conf e / etc / awstats / awstats.www.mysite.org.conf "Arquivos de novo ... Engadindo estas liñas ao" plugins "sección ....
Código:
LoadPlugin = "consellos" LoadPlugin = "geoip GEOIP_STANDARD / usr / local / acción / GeoIP / GeoIP.dat" LoadPlugin = "geoip_city_maxmind GEOIP_STANDARD / usr / local / acción / GeoIP / GeoLiteCity.dat" LoadPlugin = "geoip_org_maxmind GEOIP_STANDARD / usr / local / share / GeoIP / GeoIPASNum.dat "LoadPlugin =" hostinfo "
É iso xente, vai actualizar awstats no seu navegador e vexa a diferencia .....
Ir ao awstats no seu navegador
Código:
 http://yourdomain.com/awstats/awstats.pl ou http://192.168.1.19/awstats/awstats.pl
.................................................. ..............................

Configureing vsftpd ..
Estas son algunhas das súas opcións aquí

ftpd_banner: Imprime unha mensaxe de benvida cando alguén se conecta ó servidor.
Escoita: Se activado, vsftpd será executado en modo autónomo.
xferlog_enable: Se activado, un arquivo de rexistro pode gardar imaxes detalladas e descargas.
connect_from_port_20: Esta opción controla os datos de conexións estilo PORT usar porta 20 na máquina do servidor.
hide_ids: Se habilitado, toda a información de usuario e grupo será listado como "ftp".
max_client: define o número máximo de clientes que poden ser conectados. Só funciona en modo autónomo.
max_per_ip: define o número máximo de clientes que poden ser conectados a partir do mesmo enderezo IP. Ademais, só funciona no modo autónomo.
anon_root: Define o directorio que vsftpd ha tentar cambiar a cando un usuario anónimo rexistros polgadas
Permite anonymous_enable: ou desactivar acceso anónimo. Use con cautela.
anon_upload_enable: Se activado, os usuarios anónimos terán permiso para subir arquivos.
anon_mkdir_write_enable: Se activado, os usuarios anónimos serán autorizados a crear novas carpetas. Sen embargo, para que esta opción funcione, o servidor debe ter a opción anonymous subida habilitado eo usuario ftp * nix debe escribir permisos no directorio pai.

Código:
nano / etc / vsftpd.conf
Engadir a seguinte liña (liña descomentar) para a configuración do vsftpd:
Código:
local_enable = yes
Por riba de directiva configuración permitirá que os usuarios locais para acceder vía ftp
Se quere permitir que os usuarios fagan subida de arquivos, engade o seguinte ao arquivo:
[Code] write_enable = Si [/ code]
Por seguridade, pode restrinxir ós usuarios locais para os seus directorios. Engadir o seguinte ao arquivo:
Código:
chroot_local_user = yes
Garde e feche o ficheiro.
Reinicie o vsftpd
Código:
/ Etc / init.d / vsftpd reiniciar
login para o servidor ftp con
Código:
ftp://yourdomain.com ou ftp://192.168.1.19
.................................................. ..............................

Instalar e Configureing Webmin, eu gusto mellor que cPanel min ...

Instalar e actualizar o Webmin vía APT, editar o ficheiro / etc / apt / sources.list do seu sistema e engade a liña: (Isto é para Ubuntu)
Código:
nano / etc / apt / sources.list
Código:
sarge contrib deb http://download.webmin.com/download/repository
Tamén debe obter e instalar a miña clave GPG que o depósito é asinado, cos comandos:
Código:
cd / root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc
Agora vai ser capaz de instalar cos comandos:
Código:
apt-get update apt-get-y install webmin
Agora podes ir a
Código:
 https: / yoursite.com /: 10000 ou https: / / 192.168.1.19:10000
para acceder o servidor. (Entrar con raíz eo seu passwd),

(Ten en conta que o uso da CPU no meu servidor) Damn que bos nenos!

Hai todo tipo de módulos para Webmin, pero nós estamos indo só para instalar un par ... (Vostede instala o que sente é nessary)
Os dous imos instalar son "vsftpd" e wbmclamav "...
Olle para o lado esquerdo do Webmin e ir ao
1) Webmin
2) Configuración do Webmin
No "Webmin Configuration sección" escoller ...
3) Webmin modules
comprobar "módulo de terceiros" e presione o botón ao final ...
4) Buscar wbmclamav
a continuación, bateu instalar módulo. (Cando executar "wbmclamav", será necesario facer backup da súa configuración.)
5) Repita o proceso para o módulo "vsftpd.
Feito! Agora tes unha GUI para dixitalizar todos os seus arquivos de configuralo para ser executado nun scedule etc. (O de sempre que sexa)
Ten control total sobre cada aspecto do seu servidor agora a través de "Webmin" ...

Continuo Aquí
Disfruta .........

Paz ..................... linuxtuts