Ịwụnye LAMP (Linux, Apache, MySQL, PHP na PhpMyAdmin) na Gentoo Linux


Oke arụmọrụ enwetara site na ịchịkọta sọftụwia sitere na isi mmalite na Gentoo nwere mmetụta pere mpe, ma ọ bụrụ na anyị were dị ka ntụaka maka nhazi ike ngwaike taa. Kedu ihe bụ ebumnuche iji Gentoo dị ka ikpo okwu sava Weebụ ị nwere ike ịjụ? Ọfọn, àgwà kachasị mkpa nke Gentoo nwere bụ oke mgbanwe ya na Portagenwere ike ịnye ọrụ ụfọdụ na njikwa zuru oke nke onye ọrụ ikpeazụ nwere ike nweta n'elu usoro dum, n'ihi na Gentoo ọ na-agbakọta na. wulite site na isi mmalite ma ọ naghị eji ọnụọgụ abụọ eburu ụzọ dị ka ọtụtụ nkesa Linux.

Ntuziaka a na-enye usoro ntinye nzọụkwụ site na nzọụkwụ maka nchịkọta LAMP ama ama (Linux, Apache, MySQL, na PHP/PhpMyAdmin) na-eji ebe nrụnye Gentoo pere mpe.

  1. Obere Gburugburu Linux Gentoo arụnyere dị ka na nkuzi a (Wụnye Gentoo Linux)

Kwụpụ 1: Hazie Adreesị IP Static

1. Tupu anyị aga n'ihu na wụnye LAMP tojupụtara usoro a ga-ahazi ya na adreesị IP static, nke bụ \kwesịrị ma ọ bụrụ na nkesa. iwu ifconfig iji gosi aha Kaadị Interface Network.

# ifconfig -a

Dịka ị na-ahụ aha NIC nwere ike ịdị iche na aha ndị ọzọ a na-ejikarị na Linux dị ka ethX, ensXX ma ọ bụ ndị ọzọ, yabụ detuo aha a maka ntọala ndị ọzọ.

2. Ọ bụrụ na ị na-ejibu ihe nkesa DHCP maka netwọk gị, hụ na ị kwatuo wee gbanyụọ DHCP Client na sistemụ gị site na iji iwu ndị a (dochie IPs na ngwaọrụ gị. ntọala).

# rc-update del dhcpcd default
# /etc/init.d/dhcpcd stop
# ifconfig eno16777736 down
# ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
# emerge –unmerge dhcpcd

3. Mgbe ahụ mepụta njikọ ihe atụ site na ngwaọrụ loopback netwọk na aha njikọ njikọ njikọ NIC gị wee mepụta faịlụ nhazi static maka ngwaọrụ a na /etc/conf.d/ụzọ.

# ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
# sudo nano /etc/conf.d/net.eno16777736

Jiri nhazi ndị a dezie faịlụ ngwaọrụ a.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Mgbe ịmechara nhazi nhazi static NIC, malite Network Interface wee nyochaa ntọala netwọk na njikọ site na iji ifconfig na pingiwu ma ọ bụrụ na ihe niile na-ahazi nke ọma tinye ya ka ịmalite usoro.

# /etc/init.d/net.eno16777736 start
# ifconfig
# ping -c2 domain.tld
# rc-update add net.eno16777736 default

Ọ bụrụ na ịchọrọ ka aha sava DNS bụrụ nke ahaziri ahazi dezie /etc/resolv.conf faịlụ wee tinye eriri nameserver maka adreesị IP DNS ọ bụla.

Nzọụkwụ 2: Wụnye LAMP

5. Mgbe ịmechara ntọala netwọkụ, gaa n'ihu na ịwụnye LAMP tojupụtara, mana ọ bụghị tupu ị nyochaa profaịlụ Gentoo wee melite osisi Portage na sistemụ.

Maka ihe nkesa na-eche ihu na ịntanetị nwere patches nche ị ga-achọ iji profaịlụ Hardened nke na-agbanwe ntọala ngwungwu maka sistemu gị dum (masks, USE flags, wdg). Jiri iwu ndị a ka ịdepụta ma gbanwee profaịlụ gị.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. Mgbe edobere profaịlụ gị kacha mma, melite sistemụ gị na osisi Portage.

$ sudo emerge --sync
$ sudo emerge --update @world

7. Ugbu a, ọ bụ oge na-aga n'ihu na LAMP echichi. Nyochaa akwụkwọ sava webụ Apache maka Jiri ọkọlọtọ site na iji emerge –pv mgbanwe iwu, wee dezie Portage make.conf faịlụ nwere ọkọlọtọ USE achọrọ tupu ị nwaa ime tinye ya.

# emerge -pv apache
# nano /etc/portage/make.conf

8. Họrọ Jiri ọkọlọtọ gị maka nhazi usoro (ị nwere ike ịhapụ ya dị ka ọ bụrụ na ihe nkesa gị anaghị achọ ụfọdụ modul), wee wụnye Apache site na iji iwu a.

# emerge --ask www-servers/apache

9. Tupu ịmalite ọrụ Apache gbasoro iwu na-esonụ iji zere njehie ServerAha, wee malite httpd daemon.

# echo “ServerName localhost” >> /etc/apache2/httpd.conf
# service apache2  start

OR

# /etc/init.d/apache2 start

10. Na nzọụkwụ ọzọ wụnye PHP asụsụ edemede ike. N'ihi ịba ụba nke modul PHP, nkuzi a ga-ewetara gị nnukwu ndepụta modulu ejiri dị ka Jiri ọkọlọtọ, mana ị ga-arapara n'ahụ nke nhazi ihe nkesa gị chọrọ.

Buru ụzọ nweta ọkọlọtọ Jiri maka PHP site na iji iwu dị n'okpuru.

# emerge -pv php

11. Mgbe ahụ dezie faịlụ /etc/portage/make.conf wee jiri ọkọlọtọ Jiri na-esonụ maka PHP5.5 (Ụkpụrụ ọkọlọtọ ga-adịrịrịrịrị. otu ahịrị).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Ụzọ ọzọ ị nwere ike iji bụ site n'ịkpọghachi Jiri ọkọlọtọ ka itinye modul PHP na nhọrọ n'ime faịlụ /etc/portage/package.use.

# echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Mgbe ịhọrọchara achọrọ Jiri ọkọlọtọ site na iji otu n'ime ụzọ abụọ ewepụtara, tinye PHP na iwu na-esonụ.

# emerge --ask dev-lang/php

13. PHP emerging usoro nwere ike were a mgbe dabere na gị usoro akụrụngwa na mgbe ọ gwụchara gwa Apache iji PHP modul site edezi /etc/conf.d/apache2 faịlụ na tinye PHP5 na APACHE2_OPTS ntụziaka.

# nano /etc/conf.d/apache2

Mee APACHE2_OPTS ahịrị ka ọ yie nke a.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Iji nweta ndepụta nke modul arụnyere, jiri iwu a.

# ls -al /etc/apache2/modules.d/

14. Iji nwalee nhazi nkesa ruo ugbu a, mepụta faịlụ phpinfo na ndekọ ndekọ mgbọrọgwụ localhost (/var/www/localhost/htdocs/) wee malitegharịa ọrụ Apache, wee tụọ aka gị. ihe nchọgharị gaa na http://localhost/info.php ma ọ bụ http://system_IP/info.php.

# echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
# service apache2  restart

OR

# /etc/init.d/apache2  restart

Ọ bụrụ na ị nweta otu nsonaazụ ahụ dị ka onyonyo dị n'elu, a na-ahazi ihe nkesa gị nke ọma. Yabụ, anyị nwere ike ịga n'ihu na nchekwa data MySQL na ntinye PhpMyAdmin.

15. Tupu ịwụnye MySQL nchekwa data nyochaa ngwugwu Jiri ọkọlọtọ wee dezie Portage make.conf ma ọ bụrụ na achọrọ ya. Jiri iwu ndị a iji nyochaa ma wụnye nchekwa data MySQL-sava.

# emerge -pv mysql
# emerge --ask dev-db/mysql

16. Tupu ịmalite MySQL nkesa, jide n'aka na MySQL nchekwa data arụnyere na gị usoro iji iwu na-esonụ.

# /usr/bin/mysql_install_db

17. Ugbu a malite MySQL nchekwa data wee chekwaa ya site na iji mysql_secure_installation site na ịgbanwe mgbọrọgwụ paswọọdụ, gbanyụọ nbanye mgbọrọgwụ n'èzí localhost, wepụ onye ọrụ na-amaghị aha na nwalee nchekwa data.

# service mysql start
# mysql_secure_installation

18. Iji nwalee ọrụ nchekwa data nbanye na MySQL na-enye iwu n'okpuru wee pụọ na nchekwa data na-akwụsị nkwupụta.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Ọ bụrụ na ị chọrọ a graphical interface jikwaa MySQL nkesa wụnye PhpMyAdmin ngwugwu site na-agba ọsọ a iwu.

# emerge -pv phpmyadmin
# emerge  dev-db/phpmyadmin

20. Mgbe emechara ngwugwu ma wụnye ya, mepụta faịlụ nhazi maka PhpMyAdmin site na iṅomi faịlụ template ya wee dochie blowfish_secretpassphrase site na iji eriri aka ike.

# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
# nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Nwalee usoro nbanye PhpMyAdmin site na imepe ihe nchọgharị wee jiri URL ndị a.

http://localhost/phpmyadmin

22. Ọ bụrụ na ihe niile dị n'ebe, ị nwere ike na-akpaghị aka na-amalite ọrụ gị mgbe reboot site na-eme ka ha dị usoro-obosara site na iji iwu ndị a.

# rc-update -v add apache2 default
# rc-update -v add mysql default

Ọ gwụla! Ugbu a ị nwere ebe nrụọrụ weebụ siri ike na Apache, asụsụ scripting PHP yana nchekwa data MySQL dị n'elu ikpo okwu ihe nkesa na-agbanwe agbanwe na nhazi nke Gentoo nyere.