Paghimo sa Imong Kaugalingong Webserver ug Pag-host sa Usa ka Website gikan sa Imong Linux Box


Daghan kaninyo mahimong web programmer. Ang uban kaninyo tingali adunay utang sa usa ka website ug siguradong mag-edit ug mag-update niini kanunay. Samtang ang pipila nga walay igong kahibalo sa mga teknolohiya sa web magplano gihapon nga makabaton niini.

Pinaagi sa kini nga artikulo, akong mahibal-an kung giunsa nimo mahimo ang usa ka nagtrabaho nga website nga adunay gamay nga kahibalo ug mahimo pa gani nga i-host kini gamit ang imong Linux box. Ang mga butang mahimong ingon ka yano.

Mga kinahanglanon:

Linux Box (Bisan pa, Mahimo nimong gamiton ang Windows apan ang mga butang siguradong dili ingon ka yano ug perpekto sama sa naa sa Linux Machine, gigamit dinhi ang Debian pananglitan sa pagkutlo). Kung wala kay naka-install nga operating system, o wala ka kahibalo kung giunsa ang pag-install sa Linux operating system, nan aniay pipila ka mga giya nga nagpakita kanimo kung giunsa ang pag-install sa Linux operating system.

  • Unsaon Pag-instalar sa Debian 10 (Buster) Minimal Server
  • Unsaon Pag-instalar sa Ubuntu 20.04 Server
  • Pag-instalar sa \CentOS 8.0″ uban sa Mga Screenshot

Apache, PHP, ug MySQL (adunay dali nga kahibalo sa bisan unsang uban pang SQL, mahimo nimo kini gamiton apan ang mga pananglitan sa artikulo mogamit sa MySQL.

  • Unsaon Pag-instalar sa LAMP sa Debian 10 Server
  • Unsaon Pag-instalar sa LAMP Stack sa Ubuntu 20.04
  • Unsaon Pag-instalar sa LAMP Server sa CentOS 8

Content Management Framework – Drupal uban sa KompoZer, o mahimo nimong gamiton ang WordPress o Joomla.(Apan dinhi akong gigamit ang Drupal isip akong Content Management System (CMS)).

  • Unsaon Pag-instalar sa WordPress Duyog sa LAMP sa Debian 10
  • Unsaon Pag-instalar sa WordPress gamit ang Apache sa Ubuntu 20.04
  • I-install ang WordPress 5 gamit ang Apache, MariaDB 10, ug PHP 7 sa CentOS 8/7

  • Unsaon Pag-instalar sa Drupal sa Debian 10
  • Unsaon Pag-instalar sa Drupal sa Ubuntu
  • Unsaon Pag-instalar sa Drupal sa CentOS 8

  • Unsaon Pag-instalar sa Joomla sa Debian 10
  • Unsaon Pag-instalar sa Joomla sa Ubuntu
  • Unsaon Pag-instalar sa Joomla sa CentOS 8

Pag-set up sa Kaugalingong Webserver ug Pag-host sa Usa ka Website sa Linux

Usa ka Koneksyon sa Internet nga adunay Static IP (Preferred) nga konektado pinaagi sa usa ka modem nga adunay usa ka virtual nga pasilidad sa pag-host (Sa Reality kini dili kaayo komplikado sama sa paminawon dinhi).

Ang Apache usa ka programa sa web server. Nag-abut kini nga gi-install ug gi-configure sa kadaghanan sa mga Sistema. Susiha kung kini na-install sa imong sistema o wala.

# apt-cache policy apache2 (On Debian based OS)
apache2:
  Installed: (none)
  Candidate: 2.4.38-3+deb10u3
  Version table:
     2.4.38-3+deb10u3 500
        500 http://httpredir.debian.org/debian buster/main amd64 Packages
     2.4.38-3 -1
        100 /var/lib/dpkg/status
     2.4.25-3+deb9u9 500
        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
# yum search httpd (On Red Hat based OS)
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: mirror.smartmedia.net.id
 * extras: ftp.iitm.ac.in
 * updates: ftp.iitm.ac.in
Installed Packages
httpd.i686	2.2.15-28.el6.centos	@updates

Gikan sa ibabaw nga output, klaro nga ang Apache na-install sa kahon, kung wala kini sa imong kaso mahimo nimo 'apt' o 'yum' ang gikinahanglan nga pakete. Kung ma-install na ang Apache sugdi kini ingon.

# apt-get install apache2 (On Debian based OS)
# service apache2 start
# yum install httpd (On Red Hat based OS)
# service httpd start

Mubo nga sulat: Mahimo nimong i-type ang 'httpd'ug dili 'apache' sa pipila ka server Viz., RHEL. Kung masugdan na ang 'apache2' o 'http' aka 'httpd' server mahimo nimong susihon kini sa imong browser pinaagi sa pag-adto sa bisan asa sa mosunod nga mga link.

http://127.0.0.1
http://localhost
http://your-ip-address

Kini nga link mag-abli sa usa ka gi-host nga panid nga nagpasabut nga ang Apache malampuson nga na-install ug nagsugod.

Ang MySQL usa ka programa sa database server. Nag-abut kini nga puno sa daghang mga distro. Susiha kung kini na-install sa imong sistema o wala ug kung diin kini na-install.

# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql 
/usr/share/man/man1/mysql.1.gz

Gikan sa output sa ibabaw, klaro nga ang MySQL gi-install kauban ang lokasyon sa mga binary file. Kung dili kini ma-install, buhata ang 'apt' o 'yum' aron ma-install kini ug sugdi kini.

# apt-get install mariadb-server mariadb-client (On Debian based OS)
# service mysql start
# yum install mariadb-server mariadb-client (On Red Hat based OS)
# service mariadb start

Mubo nga sulat: Mahimong kinahanglan nimo nga i-type ang \mysqld puli sa mysql, klaro nga wala’y mga kinutlo, sa pipila nga distro sama sa RHEL. Susiha ang kahimtang sa MySQL, run.

# service mysql status (On Debian based OS)
● mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-01-08 01:05:32 EST; 1min 42s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 2540 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 2537 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STAR
  Process: 2452 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2450 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 2506 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─2506 /usr/sbin/mysqld

Ang output sa ibabaw nagpakita nga ang MySQL nagdagan sa 11 min 58 sec.

Ang PHP mao ang server-side scripting language nga gidisenyo alang sa web development ug sagad gigamit isip usa ka general-purpose programming language. Kinahanglan nimo nga i-deploy ang script sa php pagkahuman ma-install ang php. Sama sa akong giingon sa ibabaw gamita ang 'apt' o 'yum' aron ma-install ang gikinahanglan nga pakete alang sa imong kahon.

# apt-get install php php-mysql (On Debian based OS)
# yum install php php-mysqlnd (On Red Hat based OS)

Kung malampuson nimo nga na-install ang php sa imong sistema, mahimo nimong susihon kung kini nagtrabaho sa husto o dili pinaagi sa paghimo og file nga \info.php sa imong '/var/www/html' o '/var/www' nga direktoryo (nga mao ang imong direktoryo sa Apache) nga adunay sulud nga gihatag sa ubos.

<?php

     phpinfo ();
?>

Karon navigate sa imong browser ug i-type ang bisan unsa sa mosunod nga link.

http://127.0.0.1/info.php
http://localhost/info.php
http://your-ip-address/info.php

Nga nagpasabut nga ang php na-install ug nagtrabaho sa husto. Karon mahimo nimong tukuron ang imong website sa imong direktoryo sa Apache, bisan pa, dili kanunay usa ka maayong ideya nga magbag-o pag-usab sa usa ka ligid.

Alang niini, anaa ang Content Management Framework (CMF), nga mao ang Drupal, Joomla, WordPress. Mahimo nimong i-download ang pinakabag-o nga balangkas gikan sa link nga gihatag sa ubos ug mahimo nimong gamiton ang bisan unsang mga balangkas, bisan pa, gamiton namon ang Drupal sa among mga pananglitan.

  • Drupal: https://drupal.org/project/drupal
  • Joomla: http://www.joomla.org/download.html
  • WordPress: http://wordpress.org/download/

I-download ang Drupal gikan sa ibabaw nga link nga mahimong usa ka tar archive. Ibalhin ang tar archive sa imong Apache directory '/var/www/html' o '/var/www'. Kuhaa kini sa gamut sa direktoryo sa apache. Diin ang 'x.xx' mahimong numero sa bersyon.

# mv drupal-x.xx.tar.gz /var/www/ (mv to Apache root directory)
# cd /var/www/ (change working directory)
# tar -zxvf drupal-7.22.tar.gz (extract the archieve)
# cd drupal-7.22 (Move to the extracted folder)
# cp * -R /var/www/ (Copy the extracted archieve to apache directory)

Kung OK ra ang tanan, ablihi pag-usab ang imong browser ug pag-navigate sa mga link sa ubos ug maabiabi ka.

http://127.0.0.1
http://localhost
http://your-ip-address

Pilia ang imong mga setting sa pinulongan.

Pagsusi alang sa mga kinahanglanon ug pagtugot sa file. Paghatag ug tukma nga pagtugot sa gikinahanglan nga mga file ug folder. Mahimong kinahanglan nimo nga maghimo og piho nga mga file nga mano-mano, nga dili usa ka dako nga deal.

Setup Database, ang proseso sa backend.

Kung ang setting sa Database moadto ang hingpit nga mga profile awtomatikong na-install.

Ang pag-configure nagpasabut sa pagbutang sa 'Ngalan sa Site', 'Email', 'Ngalan sa Gumagamit', 'Password', 'Time Zone', ug uban pa.

Ug kung hapsay ang tanan, makakuha ka usa ka screen nga sama niini.

Ablihi ang Imong panid pinaagi sa paghisgot sa adres nga http://127.0.0.1.

Hurot!!!

Ang Kompozer usa ka himan nga nagtugot kanimo nga magtrabaho sa GUI alang sa pagdesinyo sa usa ka website sa html ug mahimo nimong isulud ang usa ka script sa php bisan diin nimo gusto. Gipasayon ra kaayo sa Kompozer ang paghimo og web page.

  1. Kompozer: http://www.kompozer.net/download.php

maayo nga dili nimo kinahanglan nga i-install kini sa kadaghanan sa sistema sa Linux. Pag-download lang, pagkuha, ug pagdagan ang Kompozer.

Kung mamugnaon, ang kompozer naa alang kanimo.

Pipila ka mga Pulong mahitungod sa Internet Protocol (IP) Addresses.

http://127.0.0.1

Kasagaran kini gitawag nga loopback IP address o localhost, ug kini kanunay nga nagpunting sa makina diin kini gi-browse. Ang tanan nga mga makina sa usa ka network nga nagtumong sa adres sa taas mobalik sa kaugalingon nga makina.

Ipconfig/ifconfig: Pagdagan kini sa imong terminal aron mahibal-an ang imong lokal nga adres sa makina.

# ifconfig
eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: ****::****:****:****:****/** Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:107991 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:76328395 (72.7 MiB)  TX bytes:20797849 (19.8 MiB) 
          Interrupt:20 Memory:f7100000-f7120000

Pangitaa ang inet addr:192.168.1.2 dinhi 192.168.1.2 ang akong lokal nga IP. Bisan unsa nga kompyuter sa imong LAN lakip ang imong mahimo mag-refer sa imong gi-host nga web page gamit kini nga adres.

Bisan pa, ang kompyuter sa gawas sa imong LAN dili maka-access sa imong web page gamit kini nga IP address. Kinahanglan nimong pangutan-on ang imong tighatag sa serbisyo sa Internet nga hatagan ka usa ka static nga IP (Dili kana mausab sa oras). Kung nakuha na nimo ang imong static nga IP address, ang pinakasayon nga paagi sa pagpangita sa imong IP mao ang pag-type sa \My IP is sa google ug isulat ang resulta.

Dili nimo ma-access kini nga IP gikan sa imong kaugalingon nga makina o bisan unsang ubang makina sa imong LAN. Bisan pa, mahimo kang mogamit ug proxy server (www.kproxy.com) aron ma-access ang imong gi-host nga panid gamit ang imong static IP. Apan sa wala pa kana, kinahanglan nimo nga magbutang usa ka virtual server ug ang imong service provider siguradong makatabang niini nga bahin.

Hmmm! Dili gyud kana lisud. Una, kinahanglan nimong mahibal-an ang port nga gigamit sa apache, nga sa kadaghanan sa kaso mao ang 80.

# netstat -tulpn

ang output mahimong sama sa:

tcp6       0      0 :::80                   :::*                    LISTEN      6169/apache2

Karon adto sa imong router nga kasagaran mao ang http://192.168.1.1 ug ang user name/password mahimong admin-admin, bisan pa niana, kini mahimong lahi sa imong kaso base sa service provider ug lugar.

Sunod, adto sa tab sa Virtual server. Isulat ang numero sa pantalan, ngalan sa serbisyo, ug lokal nga IP address, ipahibalo, ug i-save. Pangayo og tabang gikan sa imong ISP.

Hinumdumi Maka-access ka lang niini nga webserver gikan sa imong makina, bisan unsang ubang makina sa imong LAN, o kompyuter sa Internet kung UP ang imong makina ug dungan nga nagpadagan sa MySQL ug Apache.

Uban sa dako nga gahum, moabut ang usa ka dako nga responsibilidad. Ug karon imong responsibilidad ang pagpanalipod sa imong makina. Ayaw ihatag ang imong IP address sa bisan kinsa nga wala mailhi nga tawo hangtod nahibal-an nimo ang imong mga agianan sa pagsulod ug paggawas.

Sigurado nga sulayan namon nga tabonan ang mga isyu nga may kalabotan sa seguridad ug kung giunsa kini mapanalipdan. Mobati nga gawasnon sa paghatag sa imong bililhong mga komento ug ipaambit kini sa imong mga higala. Nahibal-an nimo ang 'Sharing is Caring'. Ang imong Positibong komento nagdasig ug nagdasig kanamo.