Script pour installer LAMP et WordPress sur le serveur Ubuntu 20.04 LTS rapidement avec une seule commande

Voulez-vous automatiser l’installation du serveur Web Apache, de la base de données MySQL, de PHP et de WordPress ? Alors voici le tutoriel à ce sujet. J’ai créé un script qui comprend toutes les commandes dont nous avons besoin pour installer LAMP sur Ubuntu 20.04 LTS focal fossa et sur ce WordPress. C’est très pratique si vous souhaitez configurer et exécuter instantanément un blog ou un site Web WordPress sur votre serveur Ubuntu Linux sans taper chaque commande une par une.

Installez LAMP et WordPress à l’aide de Script sur Ubuntu 20.04 LTS

Ce que vous avez à faire est d’ouvrir le terminal de commande ou si vous utilisez un hébergement VPS ou un serveur cloud, vous y êtes déjà.

sudo su -

Créez un fichier de script :

apt install nano -y
nano word.sh

Maintenant, copiez-collez toutes les commandes, données ci-dessous dans le fichier créé :

#/bin/sh

install_dir="/var/www/html"
#Creating Random WP Database Credenitals
db_name="wp`date +%s`"
db_user=$db_name
db_password=`date |md5sum |cut -c '1-12'`
sleep 1
mysqlrootpass=`date |md5sum |cut -c '1-12'`
sleep 1

#### Install Packages for https and mysql
apt -y update 
apt -y upgrade
apt -y install apache2
apt -y install mysql-server


#### Start http
rm /var/www/html/index.html
systemctl enable apache2
systemctl start apache2

#### Start mysql and set root password

systemctl enable mysql
systemctl start mysql

/usr/bin/mysql -e "USE mysql;"
/usr/bin/mysql -e "UPDATE user SET Password=PASSWORD($mysqlrootpass) WHERE user='root';"
/usr/bin/mysql -e "FLUSH PRIVILEGES;"
touch /root/.my.cnf
chmod 640 /root/.my.cnf
echo "[client]">>/root/.my.cnf
echo "user=root">>/root/.my.cnf
echo "password="$mysqlrootpass>>/root/.my.cnf
####Install PHP
apt -y install php php-bz2 php-mysqli php-curl php-gd php-intl php-common php-mbstring php-xml

sed -i '0,/AllowOverride\ None/! {0,/AllowOverride\ None/ s/AllowOverride\ None/AllowOverride\ All/}' /etc/apache2/apache2.conf #Allow htaccess usage

systemctl restart apache2

####Download and extract latest WordPress Package
if test -f /tmp/latest.tar.gz
then
echo "WP is already downloaded."
else
echo "Downloading WordPress"
cd /tmp/ && wget "http://wordpress.org/latest.tar.gz";
fi

/bin/tar -C $install_dir -zxf /tmp/latest.tar.gz --strip-components=1
chown www-data: $install_dir -R

#### Create WP-config and set DB credentials
/bin/mv $install_dir/wp-config-sample.php $install_dir/wp-config.php

/bin/sed -i "s/database_name_here/$db_name/g" $install_dir/wp-config.php
/bin/sed -i "s/username_here/$db_user/g" $install_dir/wp-config.php
/bin/sed -i "s/password_here/$db_password/g" $install_dir/wp-config.php

cat << EOF >> $install_dir/wp-config.php
define('FS_METHOD', 'direct');
EOF

cat << EOF >> $install_dir/.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
EOF

chown www-data: $install_dir -R

##### Set WP Salts
grep -A50 'table_prefix' $install_dir/wp-config.php > /tmp/wp-tmp-config
/bin/sed -i '/**#@/,/$p/d' $install_dir/wp-config.php
/usr/bin/lynx --dump -width 200 https://api.wordpress.org/secret-key/1.1/salt/ >> $install_dir/wp-config.php
/bin/cat /tmp/wp-tmp-config >> $install_dir/wp-config.php && rm /tmp/wp-tmp-config -f
/usr/bin/mysql -u root -e "CREATE DATABASE $db_name"
/usr/bin/mysql -u root -e "CREATE USER '$db_name'@'localhost' IDENTIFIED WITH mysql_native_password BY '$db_password';"
/usr/bin/mysql -u root -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost';"
 
######Display generated passwords to log file.
echo "Database Name: " $db_name
echo "Database User: " $db_user
echo "Database Password: " $db_password
echo "Mysql root password: " $mysqlrootpass

Pour enregistrer le fichier de script, appuyez sur Ctrl + X, puis tapez Y et appuyez sur le bouton Entrée.

Exécutez maintenant le script :

sh word.sh

Attendez quelques minutes en fonction de votre connexion Internet, il configurera Apache, MySQL, PHP et WordPress. Une fois le script terminé, il affichera également la base de données créée, le nom d’utilisateur et le mot de passe root MySQL. Notez cela quelque part. Ouvrez votre navigateur et tapez l’adresse IP du serveur ou du système où vous avez exécuté la commande ci-dessus. Il montrera le processus de configuration du site Web WordPress, y compris le nom d’utilisateur et le mot de passe.

Optional:

Si vous avez besoin de phpMyAdmin, utilisez la commande ci-dessous après avoir installé WordPress pour gérer facilement les bases de données.

apt install phpmyadmin