Table des matières

LAMP


Apache

Installer WordPress sur son serveur Linux

apt install apache2 -y
a2enmod rewrite
a2enmod ssl
a2enmod deflate
a2enmod headers
 
vim /etc/apache2/apache2.conf
SerververTokens Prod
chown -R www-data:www-data /var/www/html/
systemctl restart apache2

WordPress

cd /var/www/html/
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz && mv wordpress wp && chown -R www-data:www-data /var/www/html/wp  && find /var/www/html/wp -type f -exec chmod 644 {} \; && find /var/www/html/wp -type d -exec chmod 755 {} \;

php8.2

php8.1 php8.2 Debian 11

apt update
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
curl -fsSL  https://packages.sury.org/php/apt.gpg| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg
apt update
apt install php8.2
php -v
apt install libapache2-mod-php8.2
apt install php8.2-mysql
apt install php8.2-{bcmath,fpm,xml,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi}
systemctl restart apache2
php --modules

MariaDB

apt install mariadb-server
systemctl enable --now mariadb
systemctl status mariadb
 
mysql_secure_installation
 
Change the root password? [Y/n] n (pas de mot de passe)
New password:
Re-enter new password:
Password updated successfully!
 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 
systemctl enable mariadb

Si on veut un utilisateur autre que root avec un mot de passe pour administrer phpMyAdmin
On créé ensuite un utilisateur avec tous les droits pour ne pas utiliser root :

mysql -u root
CREATE USER 'coco'@localhost IDENTIFIED BY 'mdp';
GRANT ALL PRIVILEGES ON *.* TO 'coco'@localhost IDENTIFIED BY 'mdp';
GRANT ALL PRIVILEGES ON *.* TO 'coco'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

PhpMyAdmin

PhpMyAdmin

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xvf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*-all-languages/ /var/www/html/phpmyadmin
cd /var/www/html
 
cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php
mkdir /var/www/html/phpmyadmin/tmp
openssl rand -base64 32
vim /var/www/html/phpmyadmin/config.inc.php
$cfg['TempDir'] = '/var/www/html/phpmyadmin/tmp';
 
chown -R www-data:www-data /var/www/html/phpmyadmin
 
vim /etc/apache2/conf-available/phpmyadmin.conf
Alias /phpmyadmin /var/www/html/phpmyadmin
 
<Directory /var/www/html/phpmyadmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
          <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
</Directory>
 
<Directory /var/www/html/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
     <RequireAny>
       Require all granted
     </RequireAny>
   </IfModule>
</Directory>
 
a2enconf phpmyadmin.conf
systemctl restart apache2

Connexion à PhpMyAdmin en root sans mot de passe

mysql -u root
MariaDB [(none)]> SELECT user,plugin,host FROM mysql.user WHERE user = 'root';
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password USING PASSWORD ('');
MariaDB [(none)]> FLUSH PRIVILEGES;