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;