Хэзээ ч төлбөр төлөхгүй вэб

2B | +1% better 2day

--

Вэб хостингдоо насан туршдаа төлбөр төлөхгүй гэвэл ямархуу сонсогдож байна?

Тиймээ. Худлаа яриагүй. Та яг одоо өөрийн хувийн эсвэл байгууллагын танилцуулга вэбсайтыг сохор зоос гаргахгүйгээр, нэг мөр код бичилгүй WordPress ашиглан хийх талаар сурах гэж байна.

Өнөөдрийн гол ажлыг хийж эхлэхийн тулд дараах 5 алхмыг хийсэн байх ёстой. Эхний алхмуудыг та хийж чадна гэж найдаж байна. 😏

  1. Domain нэр (Үнэгүй гэвэл freenom, .mn бол iTools)
    - update2024: freenom болохгүй байх шиг байна лээ 😥
  2. Oracle Cloud Infrastructure account хэрэг болно. (Free tier)
  3. Нэвтэрч хийж ороод Networking хэсгээс wizard ашиглан эсвэл өөрөө manual-аар public subnet бүхий VCN үүсгэнэ. (AWS VPC-тэй ижил)
  4. Virtual Machine (Ubuntu 18.04) асаана. (22, 80, 443 port ашиглана)
    — Энэ машин маань 1 CPU, 1GB RAM, 50GB Storage
    LIFETIME FREE
  5. За тэгээд түүнрүүгээ SSH хийж ороод үндсэн ажил маань эхлэнэ дээ.
LAMP stack

Өнөөдөр LAMP stack буюу Linux, Apache, MySQL, PHP ашиглаад WordPress суулгана аа. Уул нь AWS дээр бэлэн image-үүд байдаг ч OCI-н хувьд боломж нь цөөн юм билээ. Тиймээс өөрсдөө 0-ээс нь эхлүүлнэ гэсэн үг.

1. Install Apache

sudo apt update
sudo apt install -y apache2
OCI : Ubuntu 18.04 & 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
Install firewalld & configure port 80 (http service)

2. Install MySQL

sudo apt install -y mysql-server
sudo mysql_secure_installation
# configure password & other settings
Install MySQL & configure
Configure mysql options

Дараа нь 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
MySQL root user configuration & check login

Бас 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
Create WordPress user & database

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();
?>
add index.php file (sample get PHP information)

Дараа нь 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
dir.conf & apache restart & PHP information

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
Add .htaccess overrid & Apache rewrite

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
Download, extract, move WordPress installation
# 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');
Configurations

Мөн 2. Install MySQL-н төгсгөлд үүсгэсэн датабаазын нэр, хэрэглэгч нууц үгээ тохируулж өгснөөр WordPress ажиллахад бэлэн болно.

Configure database & ready to setup

phew… арай л их юм хийчихэв үү дээ? Уул нь AWS дээр ганц bitnami image сонгоод л launch гээд л болчихдог шд :D Үлдсэн хэсэг болох WordPress setup, Domain нэр холбох, SSL сертификаттай болгох, WordPress LMS theme суулгах, хэрэгтэй plugin-ууд ашиглах талаар дараачийн нийтлэлээр дуусгая. Тэгэхгүй бол арай л урт болчих шиг боллоо. Түр баяртай.

--

--

Билигүн.Б (Програмч аав)
2B +1% better 2day

I am who I am... || өөрийнхөөрөө байхаас ичихгүй