Comme j'ai zéro mémoire, je me fais un petit mémo pour la réinstaller de mon site. Cela inclus la modification du hosts, l'installation de packages, la configuration des virtuals host dans Apache, la correction de problème de droit d'accès, et le problème lié à la mise en place de la base de données.
L'article sera mise à jour au besoin.
Note pour commencer, tout a été fait un mode super utilisateur (sudo su).
hosts
Je commencer par modifier /etc/hosts :
nano /etc/hosts
127.0.0.1 mon-site
127.0.0.1 phpmysql
et on ajoute :
packages
Installation de PHP (et certains modules) / Apache / MariaDB :
aptitude install php apache2 mariadb-server phpmyadmin php-xml php-json php-mysql php-gd php-bcmath
Apache2
Ajout d'un virtual host. Création du fichier :
nano /etc/apache2/sites-available/000-vh.conf
La configuration pour le site et phpmyadmin :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/media/user/mom-du-disque/sites/nom-site"
ServerName nom-site
ServerAlias nom-site-alias
<Directory />
Options +FollowSymLinks
AllowOverride None
</Directory>
<Directory "/media/user/mom-du-disque/sites/nom-site">
Options +FollowSymLinks
AllowOverride All
Require all granted
allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /usr/share/phpmyadmin
ServerName phpmyadmin
<Directory />
Options FollowSymLinks
</Directory>
<Directory "/usr/share/phpmyadmin">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
On ajoute ce la dans les sites enabled :
cd ../sites-enabled/
ln -s ../sites-available/000-vh.conf
On passe « user » (l'utilisateur) dans le groupe www-data (Apache) :
chown -R user:www-data /media/user/mom-du-disque/sites/nom-site
sudo useradd -g www-data user
sudo adduser www-data user
Il faut vérifier que le chemin est accessible. Ici le dossier user dans le dossier media n'est pas accessible. Les partitions ne seront pas accessible.
namei -mol /media/user/nom-du-disque/sites/nom-site/
# f: /media/user/nom-du-disque/sites/nom-site/
# drwxr-xr-x root root /
# drwxr-xr-x root root media
# drwxr-x--- root root user
# drwxrwxrwx user user nom-du-disque
# drwxrwxrwx user user sites
# drwxr-s--- user www-data nom-site
On rend le dossier exécutable :
chmod +x /media/user/
Voilà le changement :
namei -mol /media/user/nom-du-disque/sites/nom-site/
# f: /media/user/nom-du-disque/sites/nom-site/
# drwxr-xr-x root root /
# drwxr-xr-x root root media
# drwxr-x--x root root user
# drwxrwxrwx user user nom-du-disque
# drwxrwxrwx user user sites
# drwxr-s--- user www-data nom-site
Et pour finir si vous avez besoin de l'URL rewrting :
a2enmod rewrite
Pour finir redémarrage d'Apache :
service apache2 restart
PhpMyAdmin
Il se peut que phpmyadmin ne se se connecte pas. Pour ce faire, connecter vous à maria (avec la commande mariabd ou mysql et faire :
root@user:/root/# mariabd
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 71
Server version: 10.5.12-MariaDB-0ubuntu0.21.04.1 Ubuntu 21.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'monPasswordRoot'
-> ;
Query OK, 0 rows affected (0.009 sec)
MariaDB [(none)]> exit
Bye
Pour copier une base de donnée depuis un backup .sql. On commence par créer la base :
root@user:/root/# mariabd
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.5.12-MariaDB-0ubuntu0.21.04.1 Ubuntu 21.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE mabase
-> ;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> exit
Bye
Puis on copie la base, en rentrant le mot de passe root :
root@user:/root/# mysql -uroot -p mabase < mabase.sql
Enter password:
Normalement tout devrait fonctionner. (Si votre site est bien configuré)