Ma kēiaʻatikala, e wehewehe mākou i ke kaʻina hana o ka hoʻokomo ʻana i ka waihona LAMP ma kahi kikowaena e holo ana i ka ʻōnaehana hana CentOS Stream. E aʻo ʻoe pehea e hoʻonohonoho ai i kēlā me kēia ʻāpana i kēlā me kēia ʻanuʻu a hōʻoia i ka hana o ka waihona i kau ʻia. No nā mea hoʻohana e hana pū ana me nā māhele Debian/Ubuntu, ua wehewehe ʻia kahi kaʻina hana LAMP like kekahi o kā mākou ʻatikala.
Aia ka LAMP stack i kahi pūʻulu polokalamu, me ka Linux operating system, Apache web server, MySQL or MariaDB database management system, and the PHP scripting language. Hana pū kēia mau ʻāpana e hana i kahi kahua ikaika a maʻalahi no ka hoʻohana ʻana i nā noi pūnaewele a me nā pūnaewele.
Hoʻomākaukau kikowaena
Ma mua o ka hoʻomaka ʻana i ke kau ʻana, pono e lawe ʻia kahi ʻano o nā hana hoʻomākaukau.
Ke hoʻololi nei i ka Superuser
ʻO ka mea mua, pono ʻoe e loaʻa nā pono superuser (root), no ka mea, ʻo ka hapa nui o nā kauoha i koi ʻia no ka hoʻonohonoho kikowaena e pono ai nā ʻae kiʻekiʻe. E hoʻokomo i kēia kauoha e hoʻololi i ka mea hoʻohana kumu:
su -
Hoʻohālikelike ʻōnaehana
A laila, manaʻo ʻia e hōʻano hou i nā pūʻolo i kau ʻia i nā mana hou loa. No ka hoʻonui, holo i ke kauoha:
dnf update -y
Hoʻonohonoho Firewall
No ka hōʻoia ʻana i ka palekana o kāu kikowaena, pono ʻoe e hoʻonohonoho i nā lula komo. Hoʻohana ʻo CentOS Stream i ka pale ahi ma ke ʻano he ʻōnaehana hoʻokele kānāwai. E hōʻoia i ka hoʻokomo ʻana a me ka holo ʻana o firewalld:
systemctl status firewalld
A laila, wehe i nā awa e hoʻohana ʻia e ka LAMP stack:
- HTTP (port 80) no ke komo pūnaewele;
- HTTPS (port 443) no ke komo pūnaewele paʻa;
- MySQL (port 3306) no ka loaʻa ʻana o ka waihona (inā makemake ʻia ka pilina mamao).
E hoʻohana i kēia mau kauoha e wehe i kēia mau awa:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
Eia kekahi, hoʻohui i kahi lula no ka pili SSH:
firewall-cmd --permanent --add-port=22/tcp
Ma hope o ka hoʻohui ʻana i nā lula pono, e hoʻouka hou i nā hoʻonohonoho pā ahi:
firewall-cmd --reload
E hōʻoia i ka hana pono ʻana o ka pā ahi. E holo i kēia kauoha e nānā i nā lula a pau:
firewall-cmd --list-all
Hoʻokomo ʻia ʻo Apache
No ka hoʻouka ʻana iā Apache, e hoʻohana i ka luna pūʻulu DNF. Inā makemake wale ʻoe i ka mana kumu o Apache, e hoʻohana i kēia kauoha:
dnf install httpd -y
Ma waho aʻe o ka hoʻonohonoho kumu o Apache, hiki iā ʻoe ke hoʻohui i nā pono like ʻole a me nā modules e hoʻonui i ka hana a hoʻonui i ka palekana o ka pūnaewele pūnaewele. ʻO ka syntax o kēia kauoha:
dnf install additional_packages –y
No ka hoʻouka ʻana i ka lawelawe me nā pūʻolo hou aʻe, e like ke ʻano o ke kauoha:
dnf install httpd additional_packages -y
E nānā i ka palapala mana e hoʻomaʻamaʻa iā ʻoe iho me nā pono a me nā modules i loaʻa.
Ma hope o ka hoʻokomo ʻana iā Apache, e hoʻomaka a hoʻohui iā ia i ka hoʻomaka:
systemctl start httpd
systemctl enable httpd
E nānā i ke kūlana o ka lawelawe me ke kauoha:
systemctl status httpd
I kēia pae, hiki iā ʻoe ke wehe i kahi polokalamu kele pūnaewele a hoʻokomo i ka IP address o ka server ma ka pahu helu. Pono ʻoe e ʻike i ka ʻaoʻao hoʻokipa Apache, e hōʻike ana i kahi hoʻonohonoho kūleʻa:
Ma ka maʻamau, aia ʻo Apache ma CentOS i ka /etc/httpd papa kuhikuhi. Aia i loko o ia nā subdirectories like ʻole a me nā faila i hoʻohana ʻia no ka hoʻonohonoho kikowaena a me ka hoʻokele.
Pono e waiho ʻia nā faila pūnaewele, e like me HTML, CSS, JavaScript i loko o ka / var / www / html papa kuhikuhi. Hiki ke loaʻa nā faila a pau ma kēia papa kuhikuhi ma ka helu wahi o kāu pūnaewele.
Hoʻokomo MySQL
Ma kēia ʻāpana, e nānā mākou i ke kaʻina o ka hoʻonohonoho ʻana a me ka hoʻonohonoho ʻana iā MariaDB ma kahi kikowaena CentOS Stream. ʻO MariaDB kahi lāʻau o MySQL e mālama ana i ka launa pū me MySQL akā hāʻawi i ka hana i hoʻomaikaʻi ʻia, nā hiʻohiʻona i hoʻonui ʻia, a me kahi kaiāulu hoʻomohala ikaika. No ka hoʻouka ʻana i ka hāmeʻa, e hoʻohana i ke kauoha:
dnf install mariadb-server mariadb -y
Ma hope o ka hoʻouka ʻana, e hoʻomaka i ka lawelawe a hiki iā ia ke hoʻomaka i ka boot system:
systemctl start mariadb
systemctl enable mariadb
No ka hōʻoia e holo pololei ana ka lawelawe ʻo MariaDB, e hoʻohana i kēia kauoha:
systemctl status mariadb
Hāʻawi ʻo MariaDB i kahi palapala hoʻonohonoho palekana e hiki ai iā ʻoe ke wehe i nā hoʻonohonoho paʻamau palekana a pale i ka waihona. Holo ia:
sudo mysql_secure_installation
I ka wā o ka hoʻokō ʻana i ka palapala, e koi ʻia ʻoe e hana i kekahi mau hana:
- E hoʻonoho i ka ʻōlelo huna no ka mea hoʻohana kumu (inā ʻaʻole i hoʻonohonoho mua ʻia);
- Wehe i nā mea hoʻohana inoa ʻole;
- ʻAʻole e ʻae i ke komo mamao ma ke ʻano he kumu;
- Wehe i ka waihona hoʻāʻo a me ke komo ʻana iā ia;
- Hoʻouka hou i nā papa pono no ka hoʻololi ʻana.
Manaʻo ʻia e pane ʻoiaʻiʻo (y) ma nā pae āpau.
Ma hope o ka hoʻopau ʻana i ka hoʻonohonoho palekana mua, hiki iā ʻoe ke hoʻopili iā MariaDB. No ka hana ʻana i kēia, e holo i ke kauoha:
mysql -u root -p
No ka hōʻoia ʻana e hana pololei ana ʻo MariaDB, ʻōlelo ʻia e hana i kahi waihona hoʻāʻo. E hoʻokō i kēia mau kauoha ma ka console MariaDB:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
Na kēia mau kauoha e hana i kahi hōkeoʻikepili hou testdb, kahi papaʻaina test_table, a hoʻohui i hoʻokahi moʻolelo. A laila e hōʻike lākou i nā mea o ka papa no ka hōʻoia:
No ka haʻalele ʻana i ka pūpū, e hoʻohana i ke kauoha:
exit
Hoʻokomo PHP
Ma hope o ka hoʻokomo ʻana iā Apache a me MySQL, ʻo ka hana aʻe e hoʻokomo a hoʻonohonoho i ka PHP, nona ke kuleana no ka hoʻoponopono ʻana i nā ʻaoʻao pūnaewele. E like me Apache, hiki iā ʻoe ke hana i kahi hoʻonohonoho kumu o PHP a me ka hoʻohui ʻana i nā modula hou e pono ai. No kahi hoʻonohonoho kumu, e hoʻohana i ke kauoha:
dnf install php
Eia naʻe, ma kēia ʻano, ʻaʻole i hoʻokomo ʻia ka mea hana. ʻO ka pinepine, hiki koke ke kau ʻana me nā modula hou. E hoʻouka me kekahi mau modula koʻikoʻi:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
E nānā i ka palapala mana no ka papa inoa piha o nā modules i loaʻa. No ka nānā ʻana i nā modules i hoʻokomo ʻia, e hoʻohana i ke kauoha:
php -m
No ka nānā ʻana i ka mana o PHP, e hoʻohana i ke kauoha:
php -v
Aia ka faila hoʻonohonoho PHP nui ma /etc/php.ini. E wehe i kēia faila ma kahi hoʻoponopono kikokikona:
vim /etc/php.ini
E hana i nā hoʻololi e pono ai, no ka laʻana, e hoʻonohonoho i ka palena manawa kūpono me ka hoʻohana ʻana i ke kuhikuhi date.timezone a hoʻololi i ka nui o ka faila hoʻouka me ka hoʻohana ʻana i nā kuhikuhi upload_max_filesize a me post_max_size. Inā ʻaʻole ʻoe i hana mua me nā mea hoʻoponopono kikokikona console, ua hoʻomākaukau mākou i kahi Haawina e kōkua iā ʻoe e hoʻomaopopo i ke kumu o ka hana ʻana me vim.
Ma hope o ka hoʻokomo ʻana i ka hāmeʻa a hana i nā loli i ka faila hoʻonohonoho, hoʻomaka hou i ka lawelawe Apache:
systemctl restart httpd
No ka nānā ʻana i ka hana, hana i kahi palapala maʻalahi e hōʻike i ka ʻike e pili ana i ka mana PHP a me nā hoʻonohonoho o kēia manawa. Hana i kahi faila info.php i loko o ka papa kuhikuhi kumu / var / www / html me ka mea o lalo iho nei:
<?php
phpinfo();
?>
E wehe i kahi polokalamu kele pūnaewele a hoʻokomo i ka URL o ka server a ukali ʻia e ka inoa file script test. ʻo kahi laʻana:
http://your_server_ip/info.php
Inā hoʻonohonoho pono ʻia nā mea a pau, e ʻike ʻoe i ka ʻike kikoʻī e pili ana i ka mana PHP, nā hoʻonohonoho, nā modula kākoʻo, a me nā mea hou aku:
Panina
ʻO ka hoʻokomo ʻana i ka waihona LAMP ma kahi kikowaena CentOS Stream he hana koʻikoʻi no ka hana ʻana i kahi kikowaena pūnaewele hilinaʻi. Ma ka hahai ʻana i nā ʻōlelo aʻo, ua aʻo ʻoe pehea e hoʻonohonoho ai iā Apache, MySQL, a me PHP, pono ia no nā pūnaewele ikaika. Ke wehe nei kēia waihona i nā mea he nui no ka hoʻomohala pūnaewele, a ʻo ke aʻo hou a me ka loiloi e kōkua iā ʻoe e hoʻomaikaʻi i ka hana a me ka hilinaʻi o kāu kikowaena.