mon_projet_de_serveur_personnel
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
mon_projet_de_serveur_personnel [2014/11/11 20:25] – [Matériel] nc | mon_projet_de_serveur_personnel [2022/03/02 03:58] – [Setup complet Raspberry 3] nc | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Mon projet de serveur auto-hébergé ====== | ||
+ | ===== Contexte ===== | ||
+ | L' | ||
+ | Je possède actuellement deux noms de domaines (un .fr et un .org), ainsi qu'un espace sur un serveur mutualisé, le tout chez Gandi.net. J'en suis au passage très satisfait. | ||
+ | |||
+ | Seulement voilà, la curiosité aidant, l' | ||
+ | ===== Objectif ===== | ||
+ | L' | ||
+ | |||
+ | Cette page est destiné à garder une trace reproductible de mon installation afin de pouvoir être capable de refaire une installation complète si j'opte finalement pour l' | ||
+ | ===== De nombreuses sources de renseignement ===== | ||
+ | Je ne suis pas seul dans ce projet : plein d' | ||
+ | Voici quelques bonnes lectures qui m'ont inspirées au fil de l'eau : | ||
+ | ==== Généralités sur l' | ||
+ | * [[http:// | ||
+ | * La [[http:// | ||
+ | * Une (vieille) conférence sur l' | ||
+ | * La [[https:// | ||
+ | ==== Des tutoriels techniques intéressants ==== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * Blog-libre.org, | ||
+ | * [[http:// | ||
+ | * Un [[http:// | ||
+ | ==== ... et des gens sympas! ==== | ||
+ | Quelques remerciements en vrac! | ||
+ | * A Jambon, Nicolas et Perdouille du site horyax.fr pour tous leurs conseils techniques! | ||
+ | * Aux blogueurs Mitsu (suumitsu.eu); | ||
+ | * Aux nombreux bénévoles qui trainent sur IRC, sur le serveur freenode en particulier, | ||
+ | ===== Matériel 1 : Vieux PC HP... ===== | ||
+ | Mon serveur actuel va se baser sur mon vieil ordinateur portable que je dépoussière tout spécialement. | ||
+ | |||
+ | Il s'agit très exactement d'un //HP Pavilion dv8365ea//, dont voici les spécifications, | ||
+ | |||
+ | Processeur : Intel Core Duo T2400 à 1,83 GHz avec technologie Centrino Duo, mémoire vive : < | ||
+ | |||
+ | Et voici les spécifications détaillées, | ||
+ | Type de produit : Portable - Notebook | ||
+ | Écran : 17 " | ||
+ | Poids en kg : 3,7 Kg | ||
+ | Dimensions (l x p x h) en mm : 397 x 282 x 46 | ||
+ | Résolution écran : TFT BrightView | ||
+ | Processeur : Intel Core Duo T2400 | ||
+ | Vitesse du processeur : 1,83 GHz / 667 MHz | ||
+ | Mémoire cache externe : 2 Mo de niveau 2 | ||
+ | Mémoire RAM : | ||
+ | RAM maxi : 2 Go | ||
+ | Capacité du disque dur : 120 Go | ||
+ | Lecteur / Graveur : Combiné lecteur DVD-ROM et graveur CD-RW, DVD -R/-RW, DVD +R/RW, DVD +R double couche | ||
+ | Lecteur de cartes mémoire : 6 en 1 (Memory Stick, Memory Stick Pro, Secure Digital, Smart Media, MultiMedia Card, xD Picture Card) | ||
+ | Carte graphique : NVIDIA GeForce Go 7600 | ||
+ | Mémoire vidéo dédiée : 256 Mo | ||
+ | Audio : 16 bits intégrée | ||
+ | Carte réseau Ethernet : 10/100 Mbps | ||
+ | Communication sans fil : WiFi 802.11a/ | ||
+ | Connecteurs : 4 USB 2.0, 1 modem RJ-11, 1 Ethernet RJ-45, 1 FireWire IEEE1394, 1 VGA, 1 S-Vidéo, 1 sortie casque avec sortie S/PDIF, 1 entrée micro, 1 PC Card de type I ou II, 1 ExpressCard/ | ||
+ | Dispositif de pointage : TouchPad (pavé tactile) | ||
+ | Type de batterie : Lithium ion / NC | ||
+ | Résolution maxi avec mémoire installée : 1440 x 900 | ||
+ | Sortie vidéo TV : S-Vidéo | ||
+ | Tuner TV TNT : Oui, avec télécommande | ||
+ | Connecteurs FireWire / IEEE 1394 : 1 | ||
+ | Nombre de haut-parleurs intégrés : 2 | ||
+ | Modem / Fax 56K : | ||
+ | ===== Et... action ! (Vieux PC) ===== | ||
+ | Je pars du principe que le lecteur a suffisamment de bagage technique pour comprendre ce que j'ai fait, donc je détaillerais les éléments parfois de façon succincte. | ||
+ | |||
+ | J' | ||
+ | ==== Récupération d' | ||
+ | Procédé tout à fait classique : | ||
+ | - Récupération de l' | ||
+ | - Gravure de l'iso sur un bon vieux DVD. J' | ||
+ | |||
+ | ==== Installation d' | ||
+ | blablabla......................FIXME: | ||
+ | ==== Relier le serveur au monde extérieur ==== | ||
+ | On commence tranquillement en installant ddclient: | ||
+ | apt-get install ddclient | ||
+ | La configuration démarre, répondre n' | ||
+ | |||
+ | Se rendre sur no-ip.com et créer un compte gratuit. Bien noter le login, mot de passe et le domaine dynamique choisi. | ||
+ | |||
+ | FIXME Ne pas installer le ' | ||
+ | |||
+ | Nous allons éditer le fichier de configuration de ddclient. Dans un terminal : | ||
+ | sudo nano / | ||
+ | |||
+ | Remplacer le contenu par : | ||
+ | use=web, web=checkip.dyndns.com/, | ||
+ | | ||
+ | protocol=dyndns2 | ||
+ | server=dynupdate.no-ip.com | ||
+ | login=charpy1 | ||
+ | password=un_mot_de_passe_costaud | ||
+ | charpyserv.ddns.net | ||
+ | |||
+ | En remplaçant bien sûr le login et le mot de passe, ainsi que le nom de domaine dynamique généré lors de la création du compte. | ||
+ | |||
+ | Ensuite on enregistre puis on redémarre ddclient : | ||
+ | sudo service ddclient restart | ||
+ | |||
+ | On attend quelques minutes : ddclient va initier les mises à jour automatiques des DNS avec No-Ip. On peut vérifier facilement : | ||
+ | ping charpyserv.ddns.net | ||
+ | |||
+ | Résultat : | ||
+ | PING charpyserv.ddns.net (109.30.12.65) 56(84) bytes of data. | ||
+ | 64 bytes from 65.12.30.109.rev.sfr.net (109.30.12.65): | ||
+ | |||
+ | En cas de problème, rendez vous dans / | ||
+ | |||
+ | Le nom de domaine dynamique est maintenant relié au routeur. Il faut maintenant activer une translation de port (NAT) pour activer le serveur Http : | ||
+ | Nom : servHTTP (par exemple) | ||
+ | Protocole : TCP | ||
+ | Type : Port | ||
+ | Ports externes : 80 | ||
+ | Adresse IP de destination : 192.168.1.8 (L' | ||
+ | Ports de destination : 80 | ||
+ | |||
+ | Hum... Ca devrait être bon! Essayez d' | ||
+ | |||
+ | ===== Matériel 2 : Raspberry 3 ===== | ||
+ | |||
+ | Nouveau projet, un serveur complet sur Raspberry pour gérer un petit coin tranquille d' | ||
+ | |||
+ | ===== Setup complet Raspberry 3 ===== | ||
+ | |||
+ | * Récupération de [[https:// | ||
+ | * Utilisation de Raspberry Pi Imager pour installer la carte sd avec Rasperry OS 32bits (anciennement Raspian) en dernière version. Ne pas hésiter à aller d' | ||
+ | * Création d'un fichier vide nommé " | ||
+ | * Carte sd dans le RPI, boot. | ||
+ | * Récupération de l' | ||
+ | * Redirection des ports 80 et 443 sur le routeur pour diriger vers le raspi. | ||
+ | * Normalement le rpi est maintenant accessible à distance, mais il n'a pas encore de serveur web opérationnel. | ||
+ | * Connexion en ssh avec le RPI à partir de maintenant, pour effectuer des opérations. | ||
+ | * Mise à jour : | ||
+ | |||
+ | sudo apt update | ||
+ | sudo apt upgrade | ||
+ | sudo apt update | ||
+ | |||
+ | * Installation de Apache, le serveur web : | ||
+ | |||
+ | sudo apt install apache2 | ||
+ | |||
+ | * Config des bons droits sur le dossier des sites web : | ||
+ | |||
+ | sudo chown -R pi:www-data / | ||
+ | sudo chmod -R 770 / | ||
+ | |||
+ | * Vérifier que le serveur Apache est opérationnel : | ||
+ | |||
+ | wget -O verif_apache.html http:// | ||
+ | |||
+ | * Si vous voyez marqué à un endroit dans le code « It works! », c’est qu’Apache fonctionne. | ||
+ | * Le répertoire / | ||
+ | * Installation de PHP et création d'un fichier index de test : | ||
+ | |||
+ | sudo apt install php php-mbstring | ||
+ | echo "<? | ||
+ | |||
+ | * Allez ensuite voir le site, soit avec un navigateur sur http:// | ||
+ | * Installation de MySQL, pour que les sites web hébergés puissent stocker des informations | ||
+ | |||
+ | sudo apt install mariadb-server php-mysql | ||
+ | |||
+ | * Connexion à la base de donnée (bdd): | ||
+ | |||
+ | sudo mysql --user=root | ||
+ | |||
+ | * Il faut maintenant supprimer puis recréer l’utilisateur root, car celui par défaut n’est utilisable que par le compte administrateur du système, et pas par les script PHP du serveur. Pour cela, une fois connecté à MySQL, lancez les commandes suivantes (remplacez password par le mot de passe de votre choix) : | ||
+ | |||
+ | DROP USER ' | ||
+ | CREATE USER ' | ||
+ | GRANT ALL PRIVILEGES ON *.* TO ' | ||
+ | |||
+ | * C'est fini, tout est en place ! Pour une prochaine connexion, on pourra faire : | ||
+ | |||
+ | mysql --user=root --password=votremotdepasse | ||
+ | ou | ||
+ | mysql --user=root --password | ||
+ | |||
+ | * Pour plus de praticité, on va installer phpmyadmin, une interface plus simple pour administrer les bases de données que du SQL dans la console. | ||
+ | |||
+ | sudo apt install phpmyadmin | ||
+ | |||
+ | * Choisir " | ||
+ | * Activation du service mysqli : | ||
+ | |||
+ | sudo phpenmod mysqli | ||
+ | sudo / | ||
+ | |||
+ | * Vérification du bon fonctionnement de phpmyadmin : Aller dans le navigateur à http:// | ||
+ | * Possibilité d' | ||
+ | |||
+ | * Installation de NextCloud | ||
+ | * Quelques prérequis: | ||
+ | |||
+ | sudo apt install apache2 mariadb-server libapache2-mod-php | ||
+ | sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip | ||
+ | |||
+ | * Puis l' | ||
+ | |||
+ | cd / | ||
+ | sudo wget https:// | ||
+ | sudo unzip latest.zip | ||
+ | |||
+ | * Et les bons droits pour que le serveurs puissent accéder aux fichiers et les gérer : | ||
+ | |||
+ | sudo chmod 750 nextcloud -R | ||
+ | sudo chown www-data: | ||
+ | |||
+ | * NextCloud est pratiquement prêt à être utilisé, mais il lui faut la base de donnée MySQL. Par sécurité, on crée un couple " | ||
+ | |||
+ | sudo mysql | ||
+ | CREATE USER nextcloud IDENTIFIED BY ' | ||
+ | CREATE DATABASE nextcloud; | ||
+ | GRANT ALL PRIVILEGES ON nextcloud.* TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | quit | ||
+ | |||
+ | * Ouvrir /nextcloud dans le navigateur pour terminer l' | ||
+ | * Installation d'un serveur FTP | ||
+ | |||
+ | sudo apt install proftpd | ||
+ | |||
+ | * Config du serveur à prévoir : | ||
+ | |||
+ | sudo nano / | ||
+ | FIXME https:// | ||
+ | |||
+ | * Shell in a box | ||
+ | |||
+ | FIXME https:// | ||
+ | FIXME https:// | ||
+ | |||
+ | |
mon_projet_de_serveur_personnel.txt · Dernière modification : 2023/02/21 18:41 de 127.0.0.1