LAMP + WordPress 한번에 설치하기 Script – Ubuntu 20.04 LTS focal fossa

WordPress를 Script로 한번에 LAMP 는 (Linux +Apache web server, MySQL Database, PHP) 를 이야기 합니다. 추가로 WordPress 까지 쭈욱~ 설치하는 방법 입니다.

LAMP 설치 scrip는 Ubuntu 20.04 LTS focal fossa 을 기준으로 작성된 script로 root 권한으로 실행 하면 됩니다.

root user 전환하기:

sudo -i

script file 생성:

apt install nano

nano word.sh

아래의 script를 생성한 파일에 복사하여 붙혀넣기:

#/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 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
apt -y php-mysql 
apt -y php-gd  

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
 

script file을 저장하고

파일을 실행하기:

chmod  755 word.sh

sh word.sh

인터넷 연결에 따라 몇 분 정도 기다리면 Apache, MySQL, PHP 및 WordPress가 설정됩니다.
script에 pasword도 모두 적어서 한번에 설치하게 됩니다. script가 완료되면 생성된 데이터베이스, 사용자 이름 및 MySQL 루트 암호도 표시됩니다.  어디에다 꼭!! 적어두세요.

브라우저를 열고 위의 명령을 실행한 서버 또는 시스템 IP 주소를 입력합니다. 동일한 사용자 이름과 비밀번호를 포함하여 워드프레스 웹사이트를 설정하는 과정을 보여줄 것입니다.

Wordfpress instaaltion script with LAMp on ubuntu 20.04 LTS

phpmyadmin 추가 설치(필요시):

phpMyAdmin이 필요할 경우 WordPress를 설치한 후 아래 명령을 사용하여 설치 하세요.

apt install phpmyadmin

Leave a Reply

Your email address will not be published. Required fields are marked *