Skip to content

Commit 51681eb

Browse files
committed
fix(server): fix server creation and php web server deployement
1 parent a86ae1f commit 51681eb

File tree

3 files changed

+209
-156
lines changed

3 files changed

+209
-156
lines changed

docs/01_development/others/web_development_php.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- [Documentation complète pour le développement web avec PHP](#documentation-complète-pour-le-développement-web-avec-php)
66
- [Table des matières](#table-des-matières)
7+
- [Préambule](#préambule)
78
- [PHP](#php)
89
- [Installation de la dernière version de PHP - Linux](#installation-de-la-dernière-version-de-php---linux)
910
- [Composer](#composer)
@@ -39,6 +40,12 @@
3940
- [CodeIgniter](#codeigniter)
4041
- [Licence](#licence)
4142

43+
## Préambule
44+
45+
Ce document a pour but de rassembler toutes les informations nécessaires pour développer des applications web avec PHP.
46+
47+
Il n'est pas fait pour la production mais pour le développement local. Si vous voulez déployer une application en production, il est conseillé de suivre des [tutoriels spécifiques à la mise en production](../../03_system/server/php_web_server_creation.md).
48+
4249
## PHP
4350

4451
### Installation de la dernière version de PHP - Linux
@@ -324,7 +331,7 @@
324331
```shell
325332
sudo nano /opt/lampp/etc/php.ini
326333
```
327-
334+
328335
- Changer les valeurs de `post_max_size` et `upload_max_filesize` pour remplacer `8M` par la taille maximale que vous voulez, par exemple `20M` pour 20 Mo :
329336
330337
```conf

docs/03_system/server/php_web_server_creation.md

Lines changed: 7 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
# Documentation sur la création d'un serveur web
1+
# Documentation sur mise en service d'un serveur web PHP Apache MySQL
22

33
## Table des matières
44

5-
- [Documentation sur la création d'un serveur web](#documentation-sur-la-création-dun-serveur-web)
5+
- [Documentation sur mise en service d'un serveur web PHP Apache MySQL](#documentation-sur-mise-en-service-dun-serveur-web-php-apache-mysql)
66
- [Table des matières](#table-des-matières)
7+
- [Prérequis](#prérequis)
78
- [Préambule](#préambule)
8-
- [Récupération du matériel](#récupération-du-matériel)
9-
- [OS Debian](#os-debian)
10-
- [SSH](#ssh)
119
- [PHP](#php)
1210
- [Apache](#apache)
1311
- [Installation de Apache](#installation-de-apache)
@@ -18,6 +16,10 @@
1816
- [Déploiement d'un projet Laravel](#déploiement-dun-projet-laravel)
1917
- [Licence](#licence)
2018

19+
## Prérequis
20+
21+
- [Avoir un serveur](./server_creation.md) (de préférence Debian) sur lequel vous avez les droits administrateurs.
22+
2123
## Préambule
2224

2325
- Source
@@ -30,9 +32,6 @@ Le maître mot de ce tutoriel est la **sécurité**. Faire un serveur c'est bien
3032

3133
Dans ce tutoriel couvrira :
3234

33-
- L'installation du système d'exploitation Debian
34-
- L'installation de SSH
35-
- La configuration du serveur SSH
3635
- L'installation d'Apache
3736
- La configuration du serveur Apache
3837
- L'installation de PHP
@@ -45,153 +44,6 @@ Dans ce tutoriel couvrira :
4544
- La configuration des permissions pour le projet Laravel
4645
- Le déploiement du projet Laravel sur le serveur apache
4746

48-
## Récupération du matériel
49-
50-
Vous pouvez créer un serveur avec n'importe quel ordinateur. Personnellement, j'utilise un ancien ordinateur de burreau qui à une dizaine d'années.
51-
52-
## OS Debian
53-
54-
Je vais utiliser Debian server pour ce tutoriel.
55-
56-
- Télécharger l'image ISO de Debian server sur le site officiel de Debian.
57-
58-
> <https://www.debian.org/>
59-
- Debian ne possède pas d'image particulières pour les serveurs, il faut donc télécharger l'image de l'installation de base de Debian. Pendant l'installation, nous ne sélectionnerons pas d'environnement graphique puisque nous n'en avons pas besoin pour un serveur.
60-
- Démarrer l'ordinateur sur la clé USB.
61-
- Selectionner l'image ISO de Debian server.
62-
- Selectionner la langue.
63-
- Entrer le nom de la machine
64-
- Entrer le domaine (laisser vide si vous n'en avez pas). Si vous en avez un c'est ici qu'il entrer votre nom de domaine.
65-
- Entrer le mot de passe de l'utilisateur `root`.
66-
- Confirmer le mot de passe.
67-
- Entrer le nom de l'utilisateur courant.
68-
- Entrer le mot de passe de l'utilisateur courant.
69-
- Confirmer le mot de passe.
70-
- Selectionner le partitionnement du disque dur.
71-
- Selectionner le pays pour le miroir des paquets.
72-
- Selectionner le miroir des paquets `deb.debian.org`.
73-
- Entrer le proxy (laisser vide si vous n'en avez pas).
74-
- Selectionner si vous voulez participer à l'envoi de données anonymes.
75-
- Selectionner les paquets à installer.
76-
- Serveur SSH
77-
- utilitaires usuels du système
78-
- Installer le chargeur d'amorçage GRUB. (Si vous avez déjà GRUB, il ne vous sera pas demandé de l'installer)
79-
- Cliquer sur `continuer` pour redémarrer l'ordinateur.
80-
- Cliquer sur `Debian/GNU` pour démarrer le système.
81-
- Entrer le nom d'utilisateur créé précédemment.
82-
- Entrer le mot de passe.
83-
84-
Vous avez maintenant un serveur Debian fonctionnel sur lequel vous êtes connecté en tant qu'utilisateur courant.
85-
86-
- Passer en mode super utilisateur.
87-
88-
```bash
89-
su root
90-
```
91-
92-
- Mettre à jour les paquets.
93-
94-
```bash
95-
apt update
96-
```
97-
98-
- Installer sudo.
99-
100-
```bash
101-
apt install sudo
102-
```
103-
104-
- Ajouter l'utilisateur courant au groupe sudo.
105-
106-
```bash
107-
usermod -aG sudo <nom_utilisateur>
108-
```
109-
110-
- Se connecter en tant qu'utilisateur courant.
111-
112-
```bash
113-
su <nom_utilisateur>
114-
```
115-
116-
- Testez si sudo fonctionne.
117-
118-
```bash
119-
sudo date
120-
```
121-
122-
- Résultat attendu : `la date actuelle`
123-
124-
## SSH
125-
126-
- Changer la configuration de SSH pour plus de sécurité.
127-
128-
```bash
129-
sudo nano /etc/ssh/sshd_config
130-
```
131-
132-
- Modifier la ligne `Port` pour changer le numéro de port par défaut.
133-
- Vous pouvez choisir presque n'importe quel numéro de port entre 1024 et 65535.
134-
- Modifier la ligne `PermitRootLogin` pour qu'elle soit égale à `no`.
135-
136-
```txt
137-
# This is the sshd server system-wide configuration file. See
138-
# sshd_config(5) for more information.
139-
140-
...
141-
142-
Port <port>
143-
144-
...
145-
146-
PermitRootLogin no
147-
148-
...
149-
```
150-
151-
- Sauvegarder et quitter.
152-
153-
- Redémarrer le service SSH.
154-
155-
```bash
156-
sudo service ssh restart
157-
```
158-
159-
- Créer une clé SSH **sur votre ordinateur.**
160-
161-
```bash
162-
ssh-keygen -t rsa -b 4096 -C "<email>"
163-
```
164-
165-
- Entrer le nom du fichier de la clé (laisser vide pour utiliser le nom par défaut).
166-
- Entrer une passphrase (optionnel mais plus sécurisé).
167-
- Confirmer la passphrase.
168-
169-
- Connectez-vous au serveur en SSH.
170-
171-
```bash
172-
ssh <nom_utilisateur>@<adresse_ip> -p <port>
173-
```
174-
175-
- Entrer le mot de passe de l'utilisateur.
176-
- Créer le dossier `.ssh` dans le dossier de l'utilisateur.
177-
178-
```bash
179-
mkdir -m 700 ~/.ssh
180-
```
181-
182-
- Créer le fichier `authorized_keys` dans le dossier `.ssh`.
183-
184-
```bash
185-
touch ~/.ssh/authorized_keys
186-
```
187-
188-
- Copier la clé publique de votre ordinateur dans le fichier `authorized_keys`.
189-
- Modifier les permissions du fichier `authorized_keys`.
190-
191-
```bash
192-
chmod 600 ~/.ssh/authorized_keys
193-
```
194-
19547
## PHP
19648

19749
- Installer PHP ainsi que les extensions nécessaires.

0 commit comments

Comments
 (0)