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 주소를 입력합니다. 동일한 사용자 이름과 비밀번호를 포함하여 워드프레스 웹사이트를 설정하는 과정을 보여줄 것입니다.
phpmyadmin 추가 설치(필요시):
phpMyAdmin이 필요할 경우 WordPress를 설치한 후 아래 명령을 사용하여 설치 하세요.
apt install phpmyadmin