Comment configurer un serveur Web dédié gratuitement

Tous les grands sites Web ont un excellent serveur derrière eux. Dans ce tutoriel, je vais vous montrer comment configurer un serveur Web dédié (avec Apache, MySQL et PHP). en utilisant ce vieil ordinateur que vous avez traîné dans la maison et du logiciel libre.


1. Un aperçu rapide

Dans ce tutoriel, nous visons plusieurs choses:

  • Nous allons installer le système d'exploitation Ubuntu Server. J'utilise couramment Ubuntu en raison de sa facilité d'utilisation et
    administration simple. Il a également une communauté assez large et extrêmement active derrière lui, ce qui facilite
    soutenir une brise.
  • Nous allons installer un serveur OpenSSH. Cela vous permet d’administrer votre serveur à partir d’ordinateurs distants..
  • Une pile LAMP (Linux, Apache, MySQL et PHP) va être installée. Cela fournit la colonne vertébrale qui fonctionnera
    votre site web. Apache est le serveur Web standard sur les systèmes d'exploitation Unix. c'est ce que la plupart des hébergeurs
    use (NETTUTS l'utilise en ce moment!) et c'est ce que nous allons utiliser.
  • Nous allons installer un pare-feu pour protéger votre serveur des accès non autorisés..

Pour suivre ce tutoriel, vous allez avoir besoin de quelques éléments:

  • Un ordinateur à utiliser comme serveur. Il n'a pas besoin d'être puissant. tant que ce n'est pas ancien, ça fonctionnera bien. S'il vous plaît
    ne le faites pas sur votre ordinateur de bureau; Ubuntu va complètement effacer votre ordinateur.
  • Un graveur de CD et un CD vierge. Celles-ci permettent de graver Ubuntu sur un disque afin de l'installer..
  • Temps. Sérieusement, ce processus prend du temps, surtout si vous rencontrez des problèmes. Essayez de réserver un après-midi
    suivre ce tutoriel.

Vous vous demandez peut-être pourquoi vous voulez avoir votre propre serveur Web. Il y a plusieurs raisons, certaines d'entre elles étant: vous pouvez avoir votre propre test
terrain pour vos sites Web; avec une petite modification, vous pourriez héberger votre propre site; et vous en apprendrez beaucoup sur Linux / Unix au fur et à mesure.
Cela dit, commençons!


2. Télécharger le serveur Ubuntu

Tout d’abord, nous aurons besoin d’un CD avec Ubuntu. Pointez votre navigateur Web vers http://www.ubuntu.com/,
et cliquez sur télécharger dans le menu à gauche. Vous allez maintenant avoir accès à une boîte avec deux onglets: "Desktop Edition" et
"Server Edition". Cliquez sur l'onglet "Server Edition" et sélectionnez "Ubuntu 8.04 LTS". Ensuite, sélectionnez un emplacement de téléchargement dans la liste.
boîte déroulante. Enfin, cliquez sur le bouton "Commencer le téléchargement".

Maintenant, vous devez graver l'ISO (le fichier que vous avez téléchargé) sur un CD vierge. Si vous ne savez pas comment faire cela, il y a un
excellent guide sur https://help.ubuntu.com/community/BurningIsoHowto


3. Installer le serveur Ubuntu

Maintenant que vous avez téléchargé et gravé l'ISO, installons Ubuntu sur votre serveur. Placez le disque dans le lecteur et démarrez à partir du CD. Dans la plupart des ordinateurs modernes, cela se produira par défaut si un disque est dans le lecteur lorsque vous l'allumez. Si ce n'est pas le cas, vous devez appuyer sur une touche de votre clavier lorsque vous l'allumez. Pour mon ordinateur portable, il s'agit de F12 et pour mon serveur, de F2. Cela dépend de votre ordinateur. Vous pouvez le trouver en regardant le texte sur votre écran lorsque vous allumez l'ordinateur, pendant le BIOS. Vous verrez quelque chose comme "Appuyez sur [KEY] pour changer l'ordre de démarrage". Appuyez sur cette touche et sélectionnez votre lecteur de CD..

Encore avec moi? Bien. Maintenant que vous avez démarré Ubuntu, vous devriez voir l'écran suivant:

Sélectionnez votre langue et appuyez sur Entrée. Maintenant, vous verrez cet écran:

Sélectionnez "Installer Ubuntu Server", et c'est parti!

L'installateur vous demandera maintenant si vous voulez qu'il détecte la disposition de votre clavier. Personnellement, je choisis toujours non, car
il est plus rapide de sélectionner un clavier américain standard dans la liste que de le détecter par l'installateur. L'une ou l'autre option est bien,
il suffit de suivre les instructions à l'écran.

Une fois que vous avez fait cela, vous verrez maintenant un tas d’écrans de chargement disant des choses comme "Détection de lecteurs de CD-ROM" et autres..
Ceux-ci devraient passer rapidement et sans problèmes. Cependant, pendant ces écrans, l’installateur essaiera de configurer automatiquement votre
paramètres réseau. Dans la plupart des cas, cela fonctionnera sans plainte. Cependant, si cela ne fonctionne pas pour vous, suivez simplement les instructions ci-dessous.
instructions à l'écran pour le faire fonctionner.

Après cela, il vous demandera un nom d’hôte. Vous pouvez généralement définir cela sur n'importe quoi; J'ai toujours mis
le mien de "serveur web".

Le système voudra maintenant que vous définissiez le fuseau horaire de votre horloge. Pour moi, c'est le Pacifique. Choisissez celui qui s'applique à
vous.

Maintenant, le système détectera plus de matériel et il vous sera demandé de "partitionner le (s) disque (s)". Sélectionnez "Guidé - utilisez tout
disque".

Vous devez maintenant sélectionner le disque que vous souhaitez partitionner. Pour la plupart des configurations, un seul disque sera disponible; toutefois,
pour des systèmes plus spécialisés, plus d'options seront disponibles ici. Choisissez celui qui vous concerne.

Il vous demandera si vous souhaitez écrire les modifications sur le disque. Sélectionnez "Oui" et appuyez sur Entrée. L'installateur va maintenant procéder
formater le lecteur et configurer les partitions.

Maintenant la magie opère. Le système va commencer à installer. Pendant que cela se produit, allez prendre un café. Cela peut prendre n'importe où
de 10 minutes à une heure. Cela dépend de votre système. Il peut arriver que cela semble gelé; ne t'inquiète pas,
ce n'est pas. Laissez-le faire, c'est une chose. Cependant, s'il reste bloqué sur une chose pendant plus d'une heure, alors oui, il est gelé.

Maintenant que le système est installé, il doit configurer le compte avec lequel vous allez vous connecter. Tout d'abord, donnez-lui votre plein
nommez et cliquez sur "Continuer".

Maintenant, donnez-lui votre nom d'utilisateur. Il suffit normalement de le définir comme prénom,
mais vous pouvez le changer. Un nom que vous ne pouvez pas utiliser est "root".

Il vous sera maintenant demandé de fournir un mot de passe. Il est ESSENTIEL que vous choisissiez un mot de passe fort, sinon votre serveur ne
être en sécurité du tout. Je recommande AU MOINS un mélange de chiffres, de lettres minuscules et de lettres majuscules. Cependant, pour mes serveurs
J'utilise des symboles, ainsi qu'un mélange de ce qui précède. NE PAS utiliser un mot de passe de moins de 7 caractères.

Puis, ressaisissez votre mot de passe pour vérifier que vous l'avez bien saisi.

Le système va maintenant essayer de configurer le "Gestionnaire de paquets" (nous y reviendrons plus tard). Fournissez-le avec votre
informations de proxy, ou laissez-le vide si vous n'utilisez pas de proxy, et sélectionnez "Continuer".

Le système va maintenant analyser plusieurs serveurs à la recherche de mises à jour et de paramètres de configuration..

Une fois cette opération terminée, plusieurs options vous seront proposées pour installer le logiciel serveur. Maintenant, écoutez TRES attentivement.
Sélectionnez le serveur OpenSSH et appuyez sur SPACE, NOT ENTER. Si vous appuyez sur Entrée, l'installation se poursuivra sans installer le serveur OpenSSH.

Vous pouvez aussi installer "serveur LAMP", mais je n’ai aucune expérience de cette option, nous allons donc tout installer avec un autre
commande plus tard.

Le système va maintenant installer le logiciel sélectionné, ainsi que d’autres composants du système..

Enfin, l'installation va se terminer. Retirez le CD et appuyez sur Entrée. L'ordinateur va redémarrer. Si tout va bien, vous serez
présenté avec un écran qui ressemble à ce qui suit:

Toutes nos félicitations! Vous venez de terminer la partie la plus difficile. Ubuntu est maintenant installé et il est temps de transformer cet ordinateur en
un serveur web.


4. Mettez à jour votre nouveau serveur

Avant d'aller plus loin, nous devons nous assurer que votre serveur est à jour. Pour ce faire, vous devez vous connecter. Tout d'abord, tapez votre nom d'utilisateur
(celui que vous avez choisi précédemment), appuyez sur Entrée, puis tapez votre mot de passe. Comme vous tapez votre mot de passe, vous remarquerez que rien
semble se passer. Ne vous inquiétez pas, c'est ainsi que le système a été conçu. Une fois que vous avez fini de taper votre mot de passe, appuyez sur Entrée.,
et votre écran devrait ressembler à celui ci-dessous si tout s'est bien passé:

Maintenant, tapez:

sudo aptitude update && sudo aptitude dist-upgrade

Il vous demandera votre mot de passe, et encore une fois, vous ne verrez rien pendant que vous le tapez. Après que vous avez fait cela, il vous demandera si
tu veux continuer. Tapez "y" et appuyez sur Entrée. Votre écran ressemblera à ce qui suit:

Votre système va maintenant télécharger et installer toutes les dernières mises à jour. Cela prendra du temps en fonction de votre connexion Internet. Après
il est terminé, votre ordinateur devra être redémarré. Pour ce faire, tapez:

sudo shutdown -r now

Et laissez-le redémarrer. Votre serveur est maintenant complètement mis à jour.


Une note rapide à propos de "Sudo"

Vous avez peut-être déjà remarqué que toutes les commandes que vous avez entrées ont commencé par "sudo". C'est parce qu'ils ont besoin
privilèges d’administrateur, et c’est ce que fait "sudo". Il exécute la commande ("shutdown") en tant qu'administrateur, ce qui lui permet de fonctionner
correctement. C'est aussi pourquoi il vous demande votre mot de passe. Cependant, après avoir tapé "sudo" une fois et entré votre mot de passe,
vous n'êtes pas obligé de saisir votre mot de passe pendant cinq minutes. Toutes les commandes ne nécessitent pas sudo, seules celles qui modifient certaines parties du système.
Vous avez tout ça? Bien.


5. Installer Apache, MySQL et PHP

Il est maintenant temps d'installer certains programmes. Pour accéder à vos sites depuis Internet, nous devrons installer un serveur Web (Apache). En plus du serveur web, nous allons
veulent également un serveur de base de données (MySQL) et un langage côté serveur (PHP) afin que nous puissions exécuter des applications populaires telles que WordPress. Alors,
passons à cela!

L’installation de programmes sur Ubuntu est très différente de l’installation de programmes sur Windows ou Windows.
OS X, dans lequel Ubuntu téléchargera et installera les programmes pour vous avec une simple commande. En effet, Ubuntu a quelque chose appelé
une Directeur chargé d'emballage, qui gère presque tous les programmes de votre système. Tout ce que nous avons à faire est de dire au gestionnaire de paquets
(appelé "aptitude") que nous souhaitons installer Apache, MySQL et PHP. Pour ce faire, tapez la commande suivante:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

Et appuyez sur Entrée. Aptitude va télécharger et installer les programmes que vous avez spécifiés. Il téléchargera et installera également tout
les dépendances.

Pendant le processus d'installation, MySQL vous demandera un mot de passe root. Vous pouvez définir cette option sur n'importe quoi, assurez-vous simplement de le rendre long et sécurisé.
Quoi que vous fassiez, NE laissez PAS ce champ vide.

Une fois que tout est terminé, vous avez maintenant un serveur Web pleinement opérationnel. Pour le tester, commencez par trouver l'adresse IP de votre serveur en tapant:

ifconfig | Grep Inet

C'est généralement la première adresse IP retournée. Dans mon cas, c'est 192.168.177.129. Maintenant que vous connaissez l'adresse IP, ouvrez votre navigateur Web et pointez-le
sur votre serveur IP. Si vous voyez le "ça marche!" message, alors félicitations, ça marche.

Cependant, nous n'avons pas encore fini. Nous ne voulons pas qu'Apache ou PHP divulguent des informations les concernant, ces informations n'étant pas nécessaires
par vos utilisateurs et pourrait poser un risque de sécurité. Tout d’abord, sauvegardez le fichier de configuration Apache original:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

Ouvrez maintenant le fichier de configuration:

sudo nano /etc/apache2/apache2.conf

Faites défiler vers le bas (flèche vers le bas) jusqu'à l'endroit où il est indiqué "ServerTokens Full" et changez-le pour lire "ServerTokens Prod"

Maintenant, descendez un peu plus loin et remplacez "ServerSignature On" par "ServerSignature Off"

Enfin, appuyez sur Ctrl-O suivi de Ctrl-X. Cela sauvegardera le fichier et quittera l'éditeur de texte.

Maintenant, nous devons faire la même chose pour PHP. Tout d’abord, sauvegardez le fichier de configuration PHP original:

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak

Ouvrez le fichier de configuration:

sudo nano /etc/php5/apache2/php.ini

Remplacez "expose_php = activé" par "expose_php = désactivé"

Encore une fois, appuyez sur Ctrl-O suivi de Ctrl-X. Maintenant que les fichiers de configuration sont mis à jour, redémarrez Apache:

sudo /etc/init.d/apache2 restart

Vous avez fini de configurer Apache, MySQL et PHP.


6. Installer un pare-feu

Nous allons maintenant verrouiller un peu plus notre serveur en installant Shorewall, un pare-feu en ligne de commande. Pour l'installer:

sudo aptitude installer shorewall

Par défaut, Shorewall est installé sans règles, permettant un accès complet. Cependant, ce n'est pas le comportement que nous voulons.
Au lieu de cela, nous allons bloquer toutes les connexions vers un port autre que le port 80 (HTTP) et le port 22 (SSH). Tout d'abord, copiez la configuration
fichiers dans le répertoire Shorewall:

sudo cp / usr / share / doc / shorewall-common / exemples / one-interface / * / etc / shorewall /

Maintenant, ouvrez le fichier "rules":

sudo nano / etc / shorewall / rules

Ajoutez ces lignes ci-dessus où il est écrit "#LAST LINE"

HTTP / ACCEPT net $ FW SSH / ACCEPT net $ FW

Ensuite, appuyez sur Control-O et Control-X. Votre pare-feu est maintenant configuré pour accepter uniquement le trafic HTTP et SSH. La dernière chose que nous devons
est de dire à Shorewall de démarrer au démarrage. Alors, ouvrez le fichier de configuration principal de Shorewall:

sudo nano /etc/shorewall/shorewall.conf

Faites défiler jusqu'à "STARTUP_ENABLED = No" et réglez-le sur "STARTUP_ENABLED = Yes".

Appuyez sur Control-O et Control-X. Maintenant, ouvrez le fichier de configuration par défaut Shorewall:

sudo nano / etc / default / shorewall

Et changez "startup = 0" en "startup = 1". Appuyez sur Control-O et Control-X. Enfin, démarrez votre pare-feu:

sudo /etc/init.d/shorewall start

Toutes nos félicitations! Votre pare-feu est maintenant configuré et protège votre serveur.


7. Ajoutez votre site Web à votre serveur Web

Maintenant que vous avez tout configuré, vous voudrez probablement y ajouter un site Web. Par défaut, tous les fichiers servis par Apache
jusqu’à Internet se trouvent dans "/ var / www /". Cependant, vous ne pouvez pas écrire dans ce dossier. Faisons en sorte que vous puissiez:

sudo usermod -g www-data [VOTRE NOM D'UTILISATEUR] sudo chown -R www-data: www-data / var / www sudo chmod -R 775 / var / www

Ce qui s’est passé là-bas, c’est que vous vous êtes ajouté au groupe "www-data" et que le dossier du site Web soit accessible en écriture aux membres du groupe "www-data".
groupe.

Maintenant, vous allez vous connecter à votre serveur en utilisant SFTP (à ne pas confondre avec FTPS). Certains clients qui supportent SFTP sont:
WinSCP (Windows, Gratuit), FileZilla (Windows, Linux, OS X, Gratuit),
Cyberduck (OS X, Gratuit) et, mon préféré, Transmit
(OS X, 30 $)

Connectez-vous à votre serveur en utilisant votre nom d'utilisateur et votre mot de passe et, si votre client le prend en charge, un chemin d'accès par défaut "/ var / www",
Il suffit de naviguer vers / var / www une fois que vous êtes connecté): (Transmit picture)

Vous pouvez maintenant ajouter vos fichiers dans ce dossier (/ var / www) et ils apparaîtront sur votre serveur lorsque vous y accéderez avec votre ordinateur.
navigateur web.

Maintenant, vous pouvez vous demander pourquoi nous utilisons SFTP au lieu de FTP. Principalement, parce que SFTP est déjà intégré à OpenSSH (que vous avez installé
plus tôt). Cependant, il est également beaucoup plus sécurisé que FTP et rend difficile (voire impossible) l'accès des utilisateurs malveillants.
à vos identifiants de connexion.


8. Rendre votre serveur accessible à Internet

La plupart des réseaux domestiques modernes sont derrière un routeur ces jours-ci. Pour cette raison, votre serveur Web ne sera pas visible sur Internet sans
un peu de travail. Comme je ne dispose pas de tous les routeurs disponibles pour effectuer des tests, je ne peux que vous donner des instructions générales dans ce domaine..

Il existe deux méthodes pour ouvrir votre serveur sur Internet: une DMZ ou un transfert de port. La principale différence que vous remarquerez est qu’avec une DMZ, votre serveur utilise le
pare-feu que nous avons installé plus tôt pour se protéger. Cependant, avec la redirection de port, votre serveur sera protégé par le pare-feu de votre routeur..

Cependant, avant de poursuivre, vous souhaiterez attribuer à votre serveur une adresse LAN statique. Pour ce faire, connectez-vous à votre routeur et cherchez quelque chose
le long des lignes "IP statiques" ou "routage statique". Après avoir attribué une adresse LAN statique à votre serveur, vous pouvez effectuer les tâches suivantes. Rappelles toi,
Google est ton ami.

Pour aller de l'avant, il existe un excellent site, PortForward.com, qui, bien que laid, peut
vous aider à faire le travail pour presque n'importe quel routeur. Les ports que vous souhaitez transférer sont 22 et 80.

Pour créer une zone démilitarisée, vous devez vous connecter à votre routeur et rechercher des paramètres tels que "paramètres DMZ". Une fois que vous l'avez trouvé, ajoutez votre serveur à
la DMZ, et vous serez réglé. Encore une fois, Google est utile dans des situations comme celle-ci..

Maintenant, trouvez votre IP publique, et le tour est joué! Vous pouvez accéder à votre serveur de n'importe où aussi longtemps
comme votre adresse IP ne change pas.


9. Gérer votre serveur à distance

En plus de vous permettre de télécharger des fichiers, OpenSSH vous permet de vous connecter à votre serveur où que vous soyez, à condition de savoir qu’elle est IP. Pour Windows, vous allez
besoin d'un client SSH. Je recommande Putty. Pour OS X, SSH est
déjà installé. Ouvrez simplement Terminal et tapez "ssh vous@Ton ip". Pour Putty, choisissez SSH et entrez votre IP, votre nom d'utilisateur et votre mot de passe
quand il le demande. Vous remarquerez qu'une fois connecté, il a exactement la même apparence que l'écran du serveur:

Vous pouvez faire tout ce que vous feriez à partir d’ici, assis devant le serveur. Pour vous déconnecter du serveur, tapez simplement "exit" et appuyez sur Entrée.


10. c'est ça!

Vous avez maintenant un serveur Web complètement fonctionnel. Il constitue un excellent terrain d’essai et conviendrait même pour l’hébergement de sites Web à faible trafic. Il y a évidemment un lot reste à apprendre, mais j'espère que vous avez un peu mieux compris le fonctionnement des serveurs Web.

Si vous souhaitez en savoir plus sur les sujets que j'ai abordés, voici quelques excellents guides:

  • Installation du logiciel
  • Configurer Apache, MySQL et PHP
  • Guide de configuration Shorewall
  • Comment transférer un port

Assurez-vous également de consulter les milliers de scripts PHP utiles sur Envato Market. Avec tout, des formulaires et des paniers d'achat aux abstractions de base de données, il y aura sûrement quelque chose pour vous aider dans la prochaine étape de votre travail en tant que développeur..

Scripts PHP sur Envato Market