Хэзээ ч төлбөр төлөхгүй вэб
2B | +1% better 2day
Вэб хостингдоо насан туршдаа төлбөр төлөхгүй гэвэл ямархуу сонсогдож байна?
Тиймээ. Худлаа яриагүй. Та яг одоо өөрийн хувийн эсвэл байгууллагын танилцуулга вэбсайтыг сохор зоос гаргахгүйгээр, нэг мөр код бичилгүй WordPress ашиглан хийх талаар сурах гэж байна.
Өнөөдрийн гол ажлыг хийж эхлэхийн тулд дараах 5 алхмыг хийсэн байх ёстой. Эхний алхмуудыг та хийж чадна гэж найдаж байна. 😏
- Domain нэр (Үнэгүй гэвэл freenom, .mn бол iTools)
- update2024: freenom болохгүй байх шиг байна лээ 😥 - Oracle Cloud Infrastructure account хэрэг болно. (Free tier)
- Нэвтэрч хийж ороод Networking хэсгээс wizard ашиглан эсвэл өөрөө manual-аар public subnet бүхий VCN үүсгэнэ. (AWS VPC-тэй ижил)
- Virtual Machine (Ubuntu 18.04) асаана. (22, 80, 443 port ашиглана)
— Энэ машин маань 1 CPU, 1GB RAM, 50GB Storage LIFETIME FREE - За тэгээд түүнрүүгээ SSH хийж ороод үндсэн ажил маань эхлэнэ дээ.
Өнөөдөр LAMP stack буюу Linux, Apache, MySQL, PHP ашиглаад WordPress суулгана аа. Уул нь AWS дээр бэлэн image-үүд байдаг ч OCI-н хувьд боломж нь цөөн юм билээ. Тиймээс өөрсдөө 0-ээс нь эхлүүлнэ гэсэн үг.
1. Install Apache
sudo apt update
sudo apt install -y apache2
Apache суулгачихаад publicIp-аар нь хандах гээд үзээрэй. 80 порт ажиллаж байх ёстой Apache маань холбогдох боломжгүй гэсэн байх вий. OCI-н хувьд linux дээрх ufw-г ашиглахгүй firewalld гэж нөхрийг ашиглаад байгаагаас болж ийм асуудал үүсдэг юм билээ. Тэрнийг нь суулгаад 80 порт (http service) нээчихэд зүгээр болно. Тэрийг нь мэдэхгүй бүтэн цаг ухнатсаныг яана.
sudo apt install firewalld
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
2. Install MySQL
sudo apt install -y mysql-server
sudo mysql_secure_installation
# configure password & other settings
Дараа нь root-ээр орохдоо password нэхдэг болгоё.
sudo mysql
# MySQL рүү орсны дараа
> SELECT user,authentication_string,plugin,host FROM mysql.user;
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$omeVeryHardPWD'
> exit
Бас WordPress-т зориулсан хэрэглэгч болон датабааз бэлдэе.
mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'alsoHardPWD';
FLUSH PRIVILEGES;
exit
3. Install PHP
sudo apt install -y php libapache2-mod-php php-mysql
sudo nano /var/www/html/index.php
# index.php content
<?php
phpinfo();
?>
Дараа нь Apache-н тохиргоог өөрчлөн index.html-ээс түрүүлж index.php файлыг уншдаг болгоё. Үүний дараа publicIp-аар нь хандах үед PHP-н мэдээлэл гарч ирэх ёстой. Ингээд PHP маань асуудалгүй ажиллаж байгааг шалгачихлаа гэсэн үг.
sudo nano /etc/apache2/mods-enabled/dir.conf
# dir.conf content
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml
</IfModule>sudo systemctl restart apache2
sudo systemctl status apache2
4. Install WordPress
WordPress-г суулгахаас өмнө гэхдээ хэд хэдэн тохиргоо хийх хэрэгтэй.
# Some PHP module that WP will use
sudo apt install -y php-curl php-gd php-mbstring php-xml php-xmlrpc
sudo systemctl restart apache2# Enable .htaccess Overrides (WP plugins use)
sudo nano /etc/apache2/apache2.conf
# add this block after `</Directory>`
<Directory /var/www/html/>
AllowOverride All
</Directory># Enable rewrite, check config & restart apache2
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2
sudo systemctl status apache2
WordPress татаад суулгах.
# Download & extract WordPress
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz# Create .htaccess, wp-config.php, upgrade dir & copy WP files
touch /tmp/wordpress/.htaccess
chmod 660 /tmp/wordpress/.htaccess
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
mkdir /tmp/wordpress/wp-content/upgrade
sudo cp -a /tmp/wordpress/. /var/www/html
# Change ownership and necessary permissions
sudo chown -R ubuntu:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod g+s {} \;
sudo chmod g+w /var/www/html/wp-content
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins# Configure salt
curl -s https://api.wordpress.org/secret-key/1.1/salt
# Copy result and replace in wp-config.php
nano /var/www/html/wp-config.php# Add filesystem direct (right above salt config)
define('FS_METHOD', 'direct');
Мөн 2. Install MySQL-н төгсгөлд үүсгэсэн датабаазын нэр, хэрэглэгч нууц үгээ тохируулж өгснөөр WordPress ажиллахад бэлэн болно.
phew… арай л их юм хийчихэв үү дээ? Уул нь AWS дээр ганц bitnami image сонгоод л launch гээд л болчихдог шд :D Үлдсэн хэсэг болох WordPress setup, Domain нэр холбох, SSL сертификаттай болгох, WordPress LMS theme суулгах, хэрэгтэй plugin-ууд ашиглах талаар дараачийн нийтлэлээр дуусгая. Тэгэхгүй бол арай л урт болчих шиг боллоо. Түр баяртай.