Il s'agit d'une configuration serveur Ubuntu 9.04, mais pourrait être utilisé sur les anciennes versions ainsi et sans doute à Debian.
Il ya plusieurs façons d'installer un tel serveur, mais c'est ma façon.
J'espère que vous apprécierez ce à linuxtuts, il suffit de copier et coller, et vous serez en un rien de temps grâce à plat.
Et s'il vous plaît n'hésitez pas à commencer un sujet dans la section Linux pour toutes les questions et commentaires. (Je vais ajouter ou enlever de ce que bon me semble)

Certaines des caractéristiques de cette installation sont ..
1) Remplir pile LAMP (Apache, PHP, MySQL, Perl)
2) phpMyAdmin
3) Clamav
4) memcached et l'memcache PHP5 Module
5) SSL
6) modules Apache "suexec réécrire actions comprennent SSL et dégonfler" permis
7) vsftpd (serveur FTP)
8) Awstats (avec des fonctions supplémentaires)
9) Webmin (Panneau de configuration)
The Perfect Server Setup Suite, (partie II)
10) Mail Server avec Dovecot et l'intégration Postfix
11) TorrentFlux (Votre Seedbox propres)
12) Moblock ("Moblock" est un ipfilter / PeerGuardian 2 pour "linux".)
13) Jinzora Media Server (un puissant réseau de base Media Streaming Server)

Merci linuxtuts.

Remarque: j'utilise le redacteur en chef nano. Il ya deux commandes que vous devez savoir pour utiliser cette Editer.
1) Ctrl + o --------- sauve
2) + Ctrl x --------- quitte le redacteur en chef (le fermer)
Donc, toujours Ctrl + o puis Ctrl + X lorsque vous avez fini


Et aller de l'avant grab "SecureCRT ®" client shh partir d'ici. Son un must have! (Pour moi en tout cas, le mastic et tout le reste ne résistent pas à une chance avec ce client shh.


De plus, vous pouvez regarder ici pour quelques conseils très utiles / et astuces avant de commencer.

Lorsque vous installez Ubuntu Server lorsque vous venez à seletion seul logiciel choisir "openshh-serveur"



(Vous pouvez aussi activer le login root en exécutant)
Code:
sudo passwd root
Configurer le réseau

Parce que l'installateur Ubuntu a configuré le système pour obtenir ses paramètres réseau via DHCP, nous devons changer cela maintenant, car un serveur doit avoir une adresse IP statique. Modifier le fichier / etc / network / interfaces et de l'adapter à vos besoins (dans cette configuration par exemple je vais utiliser l'adresse IP 192.168.1.19):

Code:
nano / etc / network / interfaces
Code:
# Ce fichier décrit les interfaces réseau disponibles sur votre système # et comment les activer. Pour plus d'informations, voir interfaces (5). # L'interface auto eth0 iface réseau de boucle inet static adresse eth0 192.168.1.19 netmask 255.255.255.0 réseau 192.168.1.0 255.255.255.0 passerelle 192.168.1.254 diffusion
Ensuite, éditez le fichier / etc / hosts.

Code:
nano / etc / hosts
Assurez-il ressembler à ceci:

Code:
127.0.0.1 localhost.localdomain localhost 192.168.1.19 mail mail.b366alive.net # Les lignes suivantes sont souhaitables pour les hôtes IPv6 capable:: 1 localhost ip6-localhost ip6-loopback fe00:: 0-localnet ff00 ip6:: 0 ip6-mcastprefix FF02:: 1 ip6-allnodes ff02:: 2 ip6-allrouters ff02:: 3 ip6-allhosts
Maintenant, exécutez
Code:
echo> mail.b366alive.net / etc / hostname / etc / init.d / start hostname.sh
Ensuite, redémarrez votre réseau:
Code:
/ Etc / init.d / networking restart
Ensuite, exécutez
Code:
hostname hostname-f
Les deux doivent montrer mail.b366alive.net maintenant.
Ensuite, exécutez
Code:
aptitude update
de mettre à jour le paquet apt base de données et
Code:
aptitude safe-mise à niveau
Changer le défaut Shell
/ Bin / sh est un lien symbolique vers / bin / ash, mais nous avons besoin de / bin / bash, pas / bin / ash. C'est pourquoi nous faisons cela:
Code:
dpkg-reconfigure dash
«Tableau de bord d'installation en tant que / bin / sh? <- N"
.................................................. ..............................

Désactiver AppArmor

AppArmor est une extension de sécurité (similaire à SELinux) qui devrait fournir la sécurité étendue. A mon avis, vous n'avez pas besoin de configurer un système sécurisé, et il ne fait habituellement plus de problèmes que d'avantages (y penser après avoir fait une semaine de dépannage, car certains de service ne fonctionnait pas comme prévu, et que vous savoir que tout était OK, mais AppArmor a été l'origine du problème). Par conséquent, je le désactiver. ! (FTW)
Nous pouvons le désactiver comme ceci:
Code:
/ Etc / / stop apparmor init.d update-rc.d-f apparmor supprimer aptitude remove AppArmor AppArmor-utils
Redémarrez votre ordinateur!

Permet d'installer certains logiciels «tout en un" commandement, rapide facile et rapide.

Code:
aptitude-y install ssh openssh-server ntp ntpdate mysql-client rkhunter openssl mysql-server binutils décompresser zoo clamav clamav-daemon arj bzip2 lzop nomarque cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl libio clamav-docs démon-string -perl libio-socket-ssl-perl libnet-ident zip-perl libnet-dns-perl webalizer vlogger quota quotatool autoconf build-essential libtool automake1.9 fail2ban bison flex perl libnet-ssleay-perl openssl libpam libauthen-pam-perl-runtime libio-pty-perl-perl libmd5 memcached php5-memcache php5-dev subversion apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5 php5-gd -mysql phpmyadmin php5-imap php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth mcrypt php5-mcrypt php5-imagick imagemagick libmail-mbox-messageparser-perl spamassassin libgd-graph-perl libapache2-mod -suphp-libgeo ipfree-perl python-crypto vsftpd
Vous serez posé les questions suivantes:

"Nouveau mot de passe pour MySQL" root ": <- yourrootsqlpassword"
Répéter mot de passe "pour le MySQL" root ": <- yourrootsqlpassword"
"Créer des répertoires pour l'administration sur le Web? <- N"
"Serveur Web à reconfigurer automatiquement: <- apache2"
base de données "Configurer pour phpMyAdmin avec dbconfig-common? <- Oui"
"Mot de passe d'utilisateur d'administration de votre base de données: <- yourrootsqlpassword"
"Mot de passe MySQL pour phpMyAdmin application: <- yourrootsqlpassword"

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

Ensuite, exécutez la commande suivante pour activer le Modules Apache suexec, réécrire, SSL, les actions se dégonfler, et comprennent:
(Vous pouvez faire comme ceci, mais j'ai trouvé qu'il ne fonctionne pas toujours, alors je le fais avec la deuxième commande)
Code:
a2enmod ssl réécrire suexec actions comprennent dégonfler
Code:
a2enmod réécrire; ssl a2enmod; actions a2enmod; comprennent a2enmod; dégonfler a2enmod
phpMyAdmin sécurisé en supprimant le fichier / etc / phpmyadmin / htpasswd.setup fichier ...
Code:
rm-f / etc / phpmyadmin / htpasswd.setup
... et supprimez ou commentez la section suivante dans / etc / phpmyadmin / apache.conf:
Code:
nano / etc / phpmyadmin / apache.conf
Code:
[...] # # # Autoriser pour l'installation <Directory /usr/share/phpmyadmin/setup> # <IfModule mod_authn_file.c> # # AuthType Basic AuthName "phpMyAdmin Setup" # AuthUserFile / etc / phpmyadmin / htpasswd.setup # < / IfModule> # Exiger valid-user # </ Directory> [...]
Redémarrez Apache après:
Code:
/ Etc/init.d/apache2 restart
Vous pouvez accéder à votre panneau phpMyAdmin en allant à
Code:
 http://yourserver.com/phpmyadmin ou http://192.168.1.19/phpmyadmin
root utilisation et votre MySQL passwd pour vous connecter.
.................................................. ....................

Si vous souhaitez utiliser "Quota" pour vos utilisateurs, vous devrez modifier le fichier / etc / fstab .. (Mine ressemble à ceci (j'ai ajouté, usrquota, grpquota à la partition avec le point de montage /):)
Code:
nano / etc / fstab
Voici la mienne
Code:
# / Etc / fstab: static informations du système de fichiers. # # Utilisez 'vol_id - uuid "d'imprimer l'unique identifiant universel pour un appareil #, ce qui peut être utilisé avec UUID = une manière plus robuste pour ne citer dispositifs # qui fonctionne même si les disques sont ajoutés et supprimés. Voir fstab (5). # # <file system> <mount point> <type> <options> <dump> <pass> proc / proc proc defaults 0 0 # / a sur / dev/mapper/VolGroup00-LogVol00 lors de l'installation UUID = 4c5883d6-2529 à 4858-87e8-34f83df86c3c / ext4 relatime, errors = remount-ro, usrquota, grpquota 0 1 # / boot est sur / dev/sda1 lors de l'installation UUID = fd8f5097-c4e3-4ba1-8f42-70f127f57768 / boot ext3 relatime 0 2 # swap est sur / dev/mapper/VolGroup00-LogVol01 lors de l'installation UUID = 67f232eb-243e-880c-424F-9667845c0667 none swap sw 0 0 / dev/scd0 / media/cdrom0 udf, iso9660 user, noauto, exec, utf8 0 0
Code:
touch / quota.user / quota.group chmod 600 / quota .*-o remount mount /
Code:
quotacheck-avugm quotaon-avug
.................................................. ............

Nous voulons MySQL à écouter sur toutes les interfaces, et pas seulement localhost, donc nous devons éditer le fichier / etc / mysql / my.cnf et commentez la ligne bind-address = 127.0.0.1:
Code:
nano / etc / mysql / my.cnf
Code:
[...] Au lieu de # skip-networking la valeur par défaut est maintenant pour écouter seulement sur localhost # qui est plus compatible et il n'est pas moins sûr. # Bind-address = 127.0.0.1 [...]
Ensuite, nous redémarrer MySQL:
Code:
/ Etc / init.d / mysql restart
Vous pouvez maintenant vérifier que le réseau est activé. Courir
Code:
netstat-tap mysql | grep
La sortie devrait ressembler à ceci:

root @ mail: ~ # netstat-tap mysql | grep
LISTEN tcp 0 0 * *: * MySQL: 8474/mysqld
root @ mail: ~ #
.................................................. ..............................

Installer Jailkit

Jailkit n'est nécessaire que si vous voulez chroot utilisateurs SSH. Il peut être installé comme suit
Code:
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, nous avons déjà installé memcached et l'memcache PHP5 Module. permet donc de tester nos réglages.
Vérifiez PHP5 son état actuel ...
Pour ce faire, nous créons le fichier info.php dans notre document root / var / www:
Code:
nano / var / www / info.php
Copiez et collez ce ...
Code:
<? Php phpinfo ();?>
Par la suite, nous appelons ce fichier dans un navigateur:
Code:
 http://192.168.1.19/info.php
Comme vous le voyez, nous avons installé PHP 5.2.0 ...
Memcached devrait déjà être en cours d'exécution. Vous pouvez vérifier en tapant
Code:
| Netstat-tap grep memcached
Devrait ressembler à ceci ...
server1: ~ # | netstat-tap grep memcached
tcp 0 0 localhost.localdo: 11211 *: * LISTEN 3092/memcached
server1: ~ #

Maintenant, memcache test dans notre navigateur ...
Code:
nano / var / www / memcachetest.php
Copiez et collez ce ...
Code:
<? Php $ memcache = new Memcache; $ memcache-> connect ('localhost', 11211) or die ("Impossible de se connecter"); $ version = memcache-> getVersion $ (); echo "La version du serveur:". $ . "<br/> \\ n"; $ tmp_object version = stdClass nouvelle; tmp_object-> str_attr $ = 'test'; tmp_object-> int_attr $ = 123; memcache-> set $ ('key', tmp_object $, faux, 10) or die ("Impossible d'enregistrer des données sur le serveur"); echo "Stocker des données dans le cache (données expireront dans 10 secondes) \\ n <br/>"; $ = $ get_result-> get memcache (touche ' '); echo "Les données du cache: <br/> \\ n"; var_dump ($ get_result);?>
Puis je appeler ce fichier dans un navigateur
Code:
 http://192.168.1.19/memcachetest.php
.................................................. ..............................

Awstats Configureing ...
Code:
nano / etc/apache2/awstats.conf
Copiez et collez ce ...
Code:
Alias / awstatsclasses "/ usr / share / awstats / lib /" Alias / awstats-icon / "/ 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 / Options ExecCGI-MultiViews + SymLinksIfOwnerMatch
Maintenant que nous définir tous les paramètres de base qui nous permettra d'accéder aux statistiques directement sur HTTP, nous avons besoin d'informer apache2 à ce sujet. Modifier / etc/apache2/apache2.conf:
Code:
nano / etc/apache2/apache2.conf
et ajoutez la ligne suivante à la fin du fichier:
Code:
Inclure / etc/apache2/awstats.conf
Maintenant, rechargez apache2:
Code:
/ Etc/init.d/apache2 reload
Ok, maintenant vous pouvez donner un premier coup de feu à
Code:
 http://www.mysite.org/awstats/awstats.pl
mais vous obtenez l'erreur suivante:
Erreur: paramètre SiteDomain pas définie dans votre fichier de configuration de domaine /. Vous devez le modifier pour utiliser cette version de AWStats.

Cela signifie que nous avons besoin de configurer awstats.
Pour en revenir au travail ...
Lors de l'installation, awstats fournit une configuration par défaut fichier nommé / etc / awstats / awstats.conf. Copiez ce fichier dans / etc / awstats / awstats.www.mysite.org.conf mysite.org est un exemple, utilisez votre propre nom de domaine)

Code:
cp / etc / awstats / awstats.conf / etc / awstats / awstats.www.mysite.org.conf
et modifier les fichiers: / etc / awstats / awstats.conf et / etc / awstats / awstats.www.mysite.org.conf en modifiant ces paramètres pour ressembler à ceci ...
Code:
nano / etc / awstats / awstats.conf
Et
Code:
nano / etc / awstats / awstats.www.mysite.org.conf
Code:
LogFile = "/ var/log/apache2/access.log" SiteDomain = "mysite.org" AllowToUpdateStatsFromBrowser = 1
Mise à jour de vos statistiques avec cron

Dans le fichier / etc / crontab Ajouter
Code:
nano / etc / crontab
Code:
# Mise à jour toutes les minutes * 10 / 10 * * * * root / usr / lib / cgi-bin / awstats.pl-config-update => toto.com / dev / null
Thats il au fond, mais si votre puce vous porterez avec moi pour améliorer pays et des informations de localisation dans votre ville rapports d'analyse Web ... (FTW je sais qui et où vous êtes!)
Code:
cd / tmp
permet ensuite obtenir le colis ..
Code:
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 / database / asnum / http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz wget GeoIPASNum.dat.gz
Le faire
Code:
if [! -D / usr / local / share / GeoIP], puis mkdir / usr / local / share / GeoIP fi
Alors ....
Code:
mv GeoIP.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / mv GeoIP.dat.gz GeoLiteCity.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / mv GeoLiteCity.dat.gz GeoIPASNum.dat.gz / usr / local / share / GeoIP / gunzip / usr / local / share / GeoIP / mv GeoIPASNum.dat.gz GeoIPv6.dat.gz / usr / local / share / GeoIP / gunzip / usr/local/share/GeoIP/GeoIPv6.dat.gz
Ensuite, nous ...
Code:
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz-xvzf GeoIP tar-1.4.6.tar.gz cd ./GeoIP-1.4.6. / configure make make sudo make install vérifier
Maintenant passons à l'installation de certains modules Perl ...
Exécuter ...
Code:
perl-e shell-MCPAN
permet ensuite de mise à niveau CPAN
Code:
installer CPAN
Code:
installer Net:: IP
Code:
installer Net:: DNS
Exit par ...
Code:
quitter
Maintenant passons à modifier notre "/ etc / awstats / awstats.conf et / etc / awstats / awstats.www.mysite.org.conf "Fichiers de nouveau ... En ajoutant ces lignes à la« plugins »de l'article ....
Code:
LoadPlugin = "tooltips" 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 »
Thats personnes, allez mettre à jour awstats dans votre navigateur et voir la différence .....
Aller à awstats dans votre navigateur
Code:
 http://yourdomain.com/awstats/awstats.pl ou http://192.168.1.19/awstats/awstats.pl
.................................................. ..............................

Configureing vsftpd ..
Ce sont certaines de vos options ici

ftpd_banner: Affiche un message de bienvenue quand quelqu'un se connecte au serveur.
écouter: Si elle est activée, vsftpd tourne en mode autonome.
xferlog_enable: Si elle est activée, un fichier journal magasin ajouts détaillées et des téléchargements.
connect_from_port_20: Cette option contrôle si le port de données style connexions utilisent le port 20 sur la machine serveur.
hide_ids: Si elle est activée, tous les utilisateurs et les informations du groupe sera répertorié comme "ftp".
max_client: Définit le nombre maximum de clients autorisés à être connectés. ne fonctionne qu'en mode autonome.
max_per_ip: Définit le nombre maximum de clients autorisés à être connectés à la même adresse IP. Aussi, ne fonctionne qu'en mode autonome.
anon_root: Définit le répertoire dans lequel vsftpd vais essayer de changer en si un utilisateur anonyme se logge
Permet anonymous_enable: ou désactive l'accès anonyme. À utiliser avec prudence.
anon_upload_enable: Si activé, les utilisateurs anonymes seront autorisés à télécharger des fichiers.
anon_mkdir_write_enable: Si activé, les utilisateurs anonymes seront autorisés à créer de nouveaux dossiers. Toutefois, pour que cette option fonctionne, votre serveur doit avoir l'option de transfert anonyme est activé et le ftp * NIX utilisateur doit écrire des autorisations sur le répertoire parent.

Code:
nano / etc / vsftpd.conf
Ajoutez la ligne suivante (ligne décommentez) à la configuration de vsftpd:
Code:
local_enable = OUI
Directive ci-dessus config permettra aux utilisateurs locaux à se connecter via ftp
Si vous souhaitez permettre aux utilisateurs de transférer le fichier, ajoutez la ligne suivante dans le fichier:
[code] write_enable = [OUI / code]
Pour plus de sécurité vous pouvez restreindre les utilisateurs locaux à leurs répertoires. Ajoutez la ligne suivante dans le fichier:
Code:
chroot_local_user = OUI
Enregistrez et fermez le fichier.
Redémarrez vsftpd
Code:
/ Etc / init.d / vsftpd restart
connexion à votre serveur FTP avec
Code:
ftp://yourdomain.com ou ftp://192.168.1.19
.................................................. ..............................

Installer et Configureing Webmin, je l'aime mieux que moi ... cPanel

Installation et mise à jour via Webmin APT, éditer le fichier / etc / apt / sources.list sur votre système et ajoutez la ligne: (C'est pour ubuntu)
Code:
nano / etc / apt / sources.list
Code:
deb sarge contrib http://download.webmin.com/download/repository
Vous devez également récupérer et installer ma clé GPG dont le dépôt est signé, avec les commandes:
Code:
cd / root wget http://www.webmin.com/jcameron-key.asc-key add-apt jcameron key.asc
Vous allez maintenant être en mesure d'installer avec les commandes:
Code:
apt-get update apt-get-y install webmin
Maintenant vous pouvez aller à
Code:
 https: / / yoursite.com: 10000 ou https: / / 192.168.1.19:10000
pour accéder à votre serveur. (Connexion avec la racine et votre passwd)

(S'il vous plaît noter l'utilisation du processeur sur mon serveur) que les garçons bonne Damn!

Il ya toutes sortes de modules pour Webmin, mais nous allons seulement d'installer un couple ... (Vous installez ce que vous ressentez est nessary)
Les deux nous allons installer sont "vsftpd" et "wbmclamav" ...
Rechercher sur le côté gauche de Webmin et aller au
1) Webmin
2) Configuration de Webmin
Dans la "Configuration de Webmin section" choisir ...
3) modules Webmin
cochez la case "module tiers de" et cliquez sur le bouton à la fin ...
4) de la recherche pour wbmclamav
puis appuyez sur installer le module. (Lorsque vous lancez "wbmclamav", il vous sera demandé de sauvegarder votre configuration.)
5) Répétez la procédure pour le "vsftpd" module.
FAIT! Maintenant vous avez une interface graphique pour scanner tous vos fichiers mis son fonctionnement sur une scedule etc. (Qu'est-ce-que vous voulez de plus)
Vous avez un contrôle complet sur tous les aspects de votre serveur maintenant par "Webmin" ...

Suite Ici
Profitez .........

Peace ..................... linuxtuts