Installer Debian 9 (Stretch – Debian Server)
-
- Debian 9 Stretch : Install source
- /etc/apt/sources.list (Ajouter les backports)
# deb cdrom:[Debian GNU/Linux 9.2.1 _Stretch_ - Official amd64 NETINST 20171013-13:07]/ stretch main
#deb cdrom:[Debian GNU/Linux 9.2.1 _Stretch_ - Official amd64 NETINST 20171013-13:07]/ stretch main
deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main
deb-src http://security.debian.org/debian-security stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-updates main
# backports
deb http://ftp.debian.org/debian stretch-backports main contrib non-free
-
- Configure Proxy Clients : Debian source
1) root@client:~# nano /etc/profile MY_PROXY_URL="http://proxy._____.fr:3128/" HTTP_PROXY=$MY_PROXY_URL HTTPS_PROXY=$MY_PROXY_URL FTP_PROXY=$MY_PROXY_URL http_proxy=$MY_PROXY_URL https_proxy=$MY_PROXY_URL ftp_proxy=$MY_PROXY_URL export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy 2) root@client:~# source /etc/profile 3) root@client:~# nano /etc/apt/apt.conf Acquire::http::proxy "http://proxy._____.fr:3128/"; Acquire::https::proxy "https://proxy._____.fr:3128/"; Acquire::ftp::proxy "ftp://proxy._____.fr:3128/"; 4) root@client:~# nano /etc/wgetrc http_proxy = http://proxy._____.fr:3128/ https_proxy = http://proxy._____.fr:3128/ ftp_proxy = http://proxy._____.fr:3128/
-
- Instaler les mises à jour et les backports
root@client:~# apt-get update && apt-get -y dist-upgrade
root@client:~# apt list --upgradable
root@client:~# apt-get -t stretch-backports update && apt-get -y -t stretch-backports dist-upgrade
root@client:~# apt-get -y autoremove && apt-get -y autoclean
-
- Instaler les build-essential et linux-headers
root@client:~# apt-get install -y build-essential root@client:~# uname -a Linux debian 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux root@client:~# apt-cache search linux-headers root@client:~# apt-get install -y linux-headers-4.9.0.4-all-amd64
-
- Instaler ntp ntpdate
root@client:~# apt-get install -y ntp ntpdate root@client:~# nano -c /etc/ntp.conf
# ligne 20 : Commentez ces lignes la pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst # ligne 50 : decommenter/modifier ou ajouter cette ligne restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap root@client:~# systemctl restart ntp root@client:~# ntpq -p root@client:~# ntpdate -u ntp root@client:~# hwclock root@client:~# hwclock -w root@client:~# date
- Installer htop & screenfetch
Installer Nginx :
root@client:~# apt-get install -y nginx
root@client:~# nginx -v
nginx version: nginx/1.10.3
root@client:~# systemctl start nginx.service
root@client:~# systemctl enable nginx.service
root@client:~# systemctl status nginx.service
root@client:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Installer Php-fpm :
root@client:~# apt-get install -y php-fpm root@client:~# php -v PHP 7.0.19-1 (cli) (built: May 11 2017 14:04:47) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.19-1, copyright (c) 1999-2017, by Zend Technologies root@client:~# systemctl enable php7.0-fpm.service root@client:~# systemctl status php7.0-fpm.service root@client:~# nano -c /etc/php/7.0/fpm/php.ini #ligne 924 : Décommenter et modifier la valeur de date.timezone date.timezone = "Europe/Paris" # Des choses importantes à installer par la suites # root@client:~# apt-get install nginx mariadb-server mariadb-client php7.0-fpm php7.0-curl php7.0-gd php7.0-mysql php7.0-cli php7.0-imap php7.0-ldap php7.0-apcu php7.0-xmlrpc php7.0-mbstring php7.0-xml php7.0-xml libfcgi0ldbl # root@client:~# apt-get install nginx mariadb-server mariadb-client php-fpm php-mysql libfcgi0ldbl
Interaction Nginx / Php-fpm : [source]
root@client:~# nano -c /etc/php/7.0/fpm/php.ini
#ligne 924 : Décommenter et modifier la valeur de date.timezone
date.timezone = "Europe/Paris"
root@client:~# systemctl restart nginx.service
root@client:~# nano -c /etc/php/7.0/fpm/pool.d/www.conf
#ligne 36 : remplacer la ligne
listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000
root@client:~# systemctl restart php7.0-fpm.service
root@client:~# nano /etc/nginx/sites-available/default
# Ajouter index.php dans la ligne
index index.php index.html index.htm index.nginx-debian.html;
# declarer dans server ceci :
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
à la place de ceci :
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
root@client:~# systemctl restart nginx.service
Installer Mariadb :
root@client:~# apt-get install -y mariadb-server php-mysql
root@client:~# mariadb -V
mariadb Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
root@client:~# mysql -V
mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
root@client:~# systemctl enable mysql
root@client:~# systemctl status mysql.service
root@client:~# mysql
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column name
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set plugin='' where User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MariaDB [mysql]> exit;
Bye
root@client:~# mysql_secure_installation
# La suite de l'installation, regarder ici [source]
Modifier l’emplacement des données de Mariadb :
Méthode 01 : Modifier la configuration Mariadb
Méthode 02 : Utilisation d’un lien symbolique
Moi, j’ai opté pour la méthode 02 car dans la méthode 01, il y a un risque de réinitialisation des paramètres une fois la mise à jour de Mariadb sera faite.
Détails de l’installation :
- Stopper le service Mariadb
- déplacer le répertoire de données (au cas où)
- créer le lien symbolique
- copier les données dans le nouvel emplacement
- relancer le service MySQL
root@client:~# systemctl stop mariadb.service
root@client:~# systemctl status mariadb.service
root@client:~# mkdir /mnt/mariadb
root@client:~# rsync -Pavzxl /var/lib/mysql/ /mnt/mariadb/
root@client:~# mv /var/lib/mysql/ /var/lib/mysql.bkp
root@client:~# ln -s /mnt/mariadb /var/lib/mysql
root@client:~# systemctl start mariadb.service
root@client:~# systemctl status mariadb.service
Installer phpmyadmin :
root@client:~# apt-get install -y phpmyadmin
Première question : Répondre directement OK sans cocher aucun des serveurs, vu que j’utilise nginx.
Pour cette question, je réponds NON, car j’utiliserai juste le compte root de ma bdd.
Une fois, l’installation est finie, je crée un vhost pour phpmyadmin sur nginx, comme suivant:
root@client:~# nano /etc/nginx/sites-available/phpmyadmin
server {
listen 80;
server_name phpmyadmin._____.fr;
root /usr/share/phpmyadmin;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
root@client:~# ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/
root@client:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@client:~# systemctl restart nginx
On va sur phpmyadmin sur un navigateur :
Une fois connecté, on tombe sur la fameuse erreur :
The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. « Find out why ».
Or alternately go to ‘Operations’ tab of any database to set it up there.
On clique sur « Find out why ».
On clique sur « create ».
Au final, phpmyadmin est prêt à l’emploi.