Niini nga artikulo, hatagan ka namo og sunod-sunod nga mga instruksyon kon unsaon pag-configure ang web environment sa usa ka server nga nagpadagan sa Linux. Una nga mga butang una, kinahanglan nimo nga masabtan nga ang usa ka kasagaran nga web server naglangkob sa pipila nga nag-interact nga mga sangkap:
- HTTP server
- interpreter sa programming language
- Sistema sa pagdumala sa database (DBMS)
Aron madumala ang imong website kinahanglan ka usab nga magbutang usa ka sistema sa pagdumala sa sulud (CMS), usa ka interface sa web alang sa pagdumala sa database, ug pag-access sa FTP.
Atong ikonsiderar ang pag-set up sa usa ka sikat kaayo nga configuration Apache-PHP-MySQL(MariaDB) sa Linux. I-install usab namo ang vsftpd ftp server, phpMyAdmin - usa ka web interface alang sa pagdumala sa database, ug usa ka content management system nga WordPress.
Para makasugod, palihog order og VPS server o dedicated server . Pananglitan, migamit mi og virtual server nga adunay static IP address nga nagpadagan sa Ubuntu Server 18.04. Ang tanang commands gipadagan sa root user.
Konfigurasyon sa Apache HTTP Server
1. instalar
apt install apache2
Kung nahuman na ang instalasyon, ablihi ang browser ug susiha ang “http://[server's_ip_address]”
Kung makakita ka og welcome page nga sama niini sa screenshot sa ibabaw, nagpasabot kana nga ang imong HTTP server nagtrabaho.
2. Paghimo og test page
Ang default nga root directory para sa website kay “/var/www/html” . Dinhi nimo makit-an ang welcome page nga imong nakita. Maghimo ta og lahi nga directory nga “/var/www/sites” para sa mga virtual host ug usa ka subfolder nga “/var/www/sites/site1” nga adunay index page sa imong test website.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Sa resulta, ang file nga “/var/www/sites/site1/index.html” kinahanglan adunay usa lang ka linya sa html code:
<H1>Welcome</H1>
3. Konfigurasyon sa Apache server
Ang mga configuration file sa mga website anaa sa katalogo nga “/etc/apache2/sites-available/” . Maghimo kita og configuration file para sa bag-ong virtual host nga mogamit sa default configuration gikan sa file nga “000-default.conf” isip basehan.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Ablihi ang file nga “site1.conf” ug usba ang “DocumentRoot” attribute. Ibutang ang path sa imong website isip value, busa sa atong kaso kini “/var/www/sites/site1”
Niini nga yugto dili na namo kinahanglan nga i-configure ang dungan nga operasyon sa daghang mga website, aron ma-disable namo ang default nga website ug makapahimo sa bag-ong site. I-reload ang configuration sa server aron magamit ang mga kausaban.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Ablihi pag-usab ang link nga “http://[server's _ip_address]” ug siguroha nga imbis sa default welcome page, ang atong gamiton mao ang bag-ong panid.
Nahuman namo ang pag-configure sa among HTTP server ug makapadayon kami sa sunod nga lakang.
Pag-configure sa FTP server
1. instalar
Atong i-install ang atong ftp server ug usa ka dugang nga package nga “db-util” , nga kinahanglan natong i-configure ang mga virtual user.
apt install vsftpd db-util
2. Paghimo og lokal nga account
Ang vsftpd server nagtugot kanamo sa pag-configure sa mga permiso sa pag-access sa usa ka flexible kaayo nga paagi. Alang sa among mga buluhaton kinahanglan namon nga hatagan ang mga tiggamit sa ftp sa mga musunud:
- bug-os nga access sa mga sulod sa "/var/www/sites/";
- disable ang tanan nga naa sa ibabaw “/var/www/”;
- koneksyon sa usa ka virtual nga account;
Paghimo og lokal nga account nga "virtual" nga walay permiso sa pag-login apan adunay access sa home folder nga "/var/www/" . Kini nga account gamiton sa mga ftp user aron makakonekta sa server.
useradd -d /var/www virtual
Ang “Root” mao ang tag-iya sa folder nga “/var/www” isip default. Aron ang mga ftp user makausab sa mga sulod sa mga website, atong usbon ang tag-iya sa “/var/www/sites/” lakip na ang mga subfolder sa “virtual”.
chown -R virtual:root /var/www/sites
Tungod niini, ang tiggamit nga "virtual" makakita sa mga sulod sa "/var/www/" ug makasulat sa subfolder nga "/var/www/sites/".
3. Pag-configure
Ang pangunang konpigurasyon anaa sa file nga “/etc/vsftpd.conf” , busa atong ablihan kini ug i-edit sama sa mosunod:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Paghimo sa database
Kinahanglan nimo ang usa ka database aron matipigan ang datos sa mga virtual nga account.
Una, maghimo kita og simpleng text file nga “users.txt” sa home folder ug i-save ang mga detalye sa access (login ug password) sa mga virtual user sa matag laing linya. Pananglitan, magkinahanglan kita og virtual user nga adunay login nga “ftp” ug password nga “Qwe123” . Dayon ang file makita sama niini:
ftp
Qwe123
Himoon nato ang database
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Atong usbon ang default nga PAM file nga “/etc/pam.d/vsftp” sama sa mosunod:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Palihug timan-i nga ang agianan sa librarya nga "pam_userdb.so" mahimong lahi apan mahimo nimo kini usbon kung kinahanglan.
I-reload ang vsftpd server aron magamit ang mga pagbag-o.
systemctl restart vsftpd
Natapos namon ang pag-configure sa FTP server.
Mga detalye sa koneksyon:
- ftp://[server's_ip_address]
- login: ftp
- password: Qwe123
Pag-configure sa PHP server
1. Pag-instalar sa PHP
Karon ang pinakabag-o nga stable nga bersyon sa PHP mao ang php 7.4.5 nga wala maapil sa opisyal nga mga repositoryo sa Ubuntu. Atong ikonektar ang usa ka third-party nga repository ug i-install ang pinakabag-o nga bersyon sa PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. check
Aron mapatuman ang PHP, ang web page file kinahanglan adunay extension nga “.php” . Atong ilisan ang ngalan sa atong test page:
cd /var/www/sites/site1/
mv index.html index.php
Idugang ang mosunod nga php line sa file nga “/var/www/sites/site1/index.php” , aron ang file mahimong ingon niini:
<H1>Welcome</H1>
<?php
phpinfo();
?>
I-save ang mga pagbag-o ug susiha ang resulta sa browser.
Kon makita nimo ang resulta sa function nga “phpinfo()” , ang PHP interpreter nagtrabaho sa husto. Karon, atong ipadayon ang sunod nga lakang.
Ang configuration sa MySQL (MariaDB).
1. instalar
Atong i-install ang MariaDB ug usa ka PHP module para sa MySQL ug dayon i-reload ang Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
I-refresh ang test page ug adto sa seksyon nga PDO sa PHP configuration table. Kon makit-an nimo ang seksyon nga “PDO_mysql” , kini nagpasabot nga ang driver para sa Mysql na-install sa husto.
Dayon kinahanglan natong buhaton ang inisyal nga pag-configure sa seguridad sa MariaDB ug ibutang ang password para sa "root" user, i-disable ang remote access, ug papason ang tanang guest accounts.
mysql_secure_installation
Sa unang lakang, kinahanglan natong isulod ang password sa "root" user aron maka-access sa DBMS o pindota ang Enter kon walay password. Tungod kay walay password nga gitakda para sa "root" user human sa instalasyon, pindota lang ang “Enter”.
Palihug timan-i nga sa MariaDB aduna nay kaugalingong mga account nga walay kalabotan sa mga OS account. Busa ang bugtong user nga atong giatubang sa MariaDB mao ang "root".
Human niana, ang configurator mangayo nato sa pagbutang og password para sa root user. I-type ang “Y” aron kumpirmahon ug isulod ang bag-ong password. Sa atong kaso, kini ang “Qwe123”
Tubaga og “O” ang tanang nahibiling pangutana hangtod sa katapusan.
Ang pag-configure nahuman na!
Mga detalye sa pag-access sa MariaDB:
- Pag-login: gamut
- Password: Qwe123
phpMyAdmin configuration
1. instalar
Atong i-install ang gikinahanglan nga extension para sa PHP - mbstring.
apt install php-mbstring
Sa opisyal nga repository adunay usa lamang ka outdated nga bersyon sa phpMyAdmin, busa atong i-install ang bag-o nga mano-mano.
Ablihi ang opisyal nga website sa proyekto nga " https://www.phpmyadmin.net/ " ug i-download ang pinakabag-ong archive.
Kopyaha ang archive ngadto sa server sa “/var/www/sites/” folder gamit ang bisan unsang ftp client.
I-unarchive ang folder ug i-rename kini ngadto sa “phpMyAdmin” . Ayaw kalimti ang pag-install sa “unzip” utility. Mahimo nimong papason ang archive human nimo kini ma-unarchive.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Paghimo sa mosunod nga folder nga “/var/www/sites/phpMyAdmin/tmp” para sa mga temporaryo nga file ug i-enable ang access para sa tanan. Kon dili nimo kini buhaton, ang phpMyAdmin moreport nga ang access gidid-an sa temporaryo nga folder.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Paghimo og alias
Tungod kay ang phpMyAdmin dili usa ka bulag nga virtual host ug nahimutang sa gawas sa root directory, atong i-configure ang alias.
Ablihi ang file nga “/etc/apache2/mods-available/alias.conf” ug idugang kini nga linya:
Alias /pma “/var/www/sites/phpMyAdmin"
sulod niini nga seksyon:
<IfModule alias_module>
</IfModule>
I-reload ang Apache aron magamit ang mga pagbag-o.
systemctl reload apache2
Na-set na ang alias, para maka-access ta sa phpMyAdmin dinhi sa “http://[server's_ip_address]/pma”.
3. Pag-andam sa database
Tungod kay gipugngan namon ang paggamit sa gamut nga tiggamit sa panahon sa inisyal nga pag-configure sa MariaDB, kinahanglan namon nga maghimo usa ka bag-ong account nga adunay tanan nga pagtugot nga magamit aron ma-access ang phpMyAdmin.
Gawas pa, aron mahimo ang dugang nga mga bahin sa phpMyAdmin magkinahanglan kami usa ka database sa serbisyo ug usa ka account aron ma-access kini.
Himoon nato ang mga account
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Palihug timan-i nga ang ngalan sa database sa ikaduhang hangyo naa sa likod nga sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY…”,
Sa resulta, adunay duha ka mga account nga gihimo sa MariaDB:
- Login: pma, Password: Qwe123Full access, gamiton sa pag log in sa phpMyAdmin
- Login: pmaservice, Password: Qwe123Ang serbisyo nga account gikinahanglan para sa dugang nga mga bahin sa pagtrabaho
Sa sunod nga lakang, atong ibutang kini nga mga detalye sa configuration file nga "config.inc.php".
Dayon kinahanglan natong i-import ang database gikan sa file nga “phpMyAdmin/sql/create_tables.sql”.
Atong i-import kini sa tabang sa phpMyAdmin.
Ablihi ang link nga “http://[server's_ip_address]/pma”
Isulod ang login nga “pma” ug password nga “Qwe123”
Adto sa “Import” , i-klik ang “Select file” ug pilia ang file nga ”sql/create_tables.sql” sa root directory sa phpMyAdmin. Kinahanglan nga naa didto ang folder sa imong PC nga “phpMyAdmin” nga adunay mga file. I-unarchive kini kon gikinahanglan.
I-klik ang "Sunod" aron magsugod sa pag-import.
4. Pag-configure
Atong kopyahon ang configuration file gikan sa template
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Ablihi nato ang configuration file nga “/var/www/sites/phpMyAdmin/config.inc.php” ug buhata ang mosunod nga mga pagbag-o:
Paghimo og random nga 32-karakter nga kantidad para sa attribute nga “$cfg['blowfish_secret']” . Gamita ang bisan unsang password generator para niini.
Tangtanga ang pagkomento gikan sa tanang linya sa seksyon nga “phpMyAdmin configuration storage settings” ug i-set ang login ug password sa service account sa MariaDB para sa mga attribute nga “controluser” ug “controlpass” sumala niana. Sa atong kaso, kini mao ang pmaservice ug Qwe123.
Pag-save sa mga pagbag-o.
Pag-access sa mga detalye para sa phpMyadmin:
- http://[server’s_ip_address]/pma/
- Login: pma
- Password: Qwe123
Giunsa ang pag-install ug pag-configure sa WordPress sa usa ka server sa Linux
1. WordPress package ug mga files placement
Adto sa opisyal nga website sa WP nga " https://ru.wordpress.org/ " ug i-download ang archive sa imong lokal nga PC.
I-upload ang archive sa server ngadto sa folder nga “/var/www/sites/” ug i-unarchive kini ngadto sa folder nga “wordpress ”.
Kopyaha ang mga sulod sa “/var/www/sites/wordpress/” root folder sa “/var/www/sites/site1/” nga website.
Tungod kay gikopya nato ang mga file pinaagi sa console nga adunay root permissions, atong usbon ang tag-iya sa folder nga “/var/www/sites/” lakip na ang mga sulod sa “virtual” . Gikinahanglan kini aron ma-enable ang bug-os nga access para sa ftp connection pinaagi sa client.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Paghimo og database alang sa WordPress
Log in sa phpMyAdmin ug i-klik ang "Paghimo database". Itakda ang usa ka arbitraryong ngalan sa database, sa among kaso nga "wordpress_db" ug i-klik ang "Paghimo" nga buton.
Pilia ang bag-ong database sa wala nga seksyon ug i-klik ang "Mga Pribilehiyo"
Dayon i-klik ang "Idugang ang account sa tiggamit".
Isulod ang login ug password ( wpservice / Qwe123 ) sa bintana nga moabli, butangi og tsek ang "Grant all privileges in the wordpress_db" ug i-klik ang "Next"
Sa sunod nga panid, i-klik ang “Cancel all” aron i-reset ang tanang pribilehiyo sa lebel sa database ug i-klik ang “Next”.
3. Pag-configure sa WordPress sa usa ka server sa Linux
Adto sa root directory sa imong website ug kopyaha ang configuration file gikan sa template
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Ablihi ang "wp-config.php" nga file ug isulod ang mga parameter sa koneksyon sa database nga atong gihimo sa miaging lakang ug i-save ang mga pagbag-o.
4. I-install ang CMS WordPress
Ablihi ang mosunod nga link sa browser nga “http://[server's_ip_address]/wp-admin/install.php”.
Pun-a ang tanang field ug i-klik ang “Install WordPress” . Pagbutang og random nga username ug password. Sa atong kaso, kini mao ang wpadmin ug Qwe123 sumala niana.
Kini nga mga detalye gamiton sa pag-access sa WordPress.
Human nimo mahuman ang instalasyon, ablihi ang link nga “http://[server's_ip_address]/wp-login.php” , isulod ang mga detalye sa pag-access, ug mag-log in sa WordPress.
Kinahanglan nimo nga makita ang usa sa mga template sa WordPress sa panguna nga panid.
Nahuman na ang configuration.
Mga detalye sa pag-access sa WordPress:
- http://[server’s_ip_address]/wp-login.php
- Pag-login: wpadmin
- Password: Qwe123