Inasakinisha LAMP (Linux, Apache, MySQL, PHP na PhpMyAdmin) katika Gentoo Linux


Utendaji wa juu zaidi unaopatikana kwa kuandaa programu kutoka kwa vyanzo na Gentoo una athari ndogo, ikiwa tutazingatia uchakataji wa nguvu wa maunzi kama marejeleo. Basi ni nini madhumuni ya kutumia Gentoo kama jukwaa la seva ya Wavuti unaweza kuuliza? Sifa muhimu zaidi ambayo Gentoo anayo ni unyumbufu wake wa hali ya juu ambao Portage inaweza kutoa kwa kazi mahususi na udhibiti kamili ambao mtumiaji wa mwisho anaweza kufikia kwenye mfumo mzima, kutokana na ukweli kwamba Gentoo imeundwa na. huunda kutoka kwa vyanzo na haitumii binary iliyopakiwa mapema kama usambazaji mwingi wa Linux.

Mwongozo huu unatoa utaratibu wa usakinishaji wa hatua kwa hatua wa safu maarufu ya LAMP (Linux, Apache, MySQL na PHP/PhpMyAdmin) kwa kutumia mazingira madogo ya usakinishaji wa Gentoo.

  1. Mazingira madogo ya Gentoo Linux yamesakinishwa kama katika somo hili (Sakinisha Gentoo Linux)

Hatua ya 1: Sanidi Anwani ya IP tuli

1. Kabla hatujaendelea na kusakinisha LAMP mfumo lazima usanidiwe na anwani ya IP tuli, ambayo ni \lazima katika seva. Lakini, kabla hatujaanza kusanidi matumizi ya mipangilio tuli ya mtandao. ifconfig amri ya kuonyesha majina ya Kadi za Kiolesura cha Mtandao.

# ifconfig -a

Kama unavyoona jina la NIC linaweza kutofautiana na majina mengine ya kawaida yanayotumiwa katika Linux kama vile ethX, ensXX au mengine, kwa hivyo andika jina hili kwa mipangilio zaidi.

2. Ikiwa hapo awali ulitumia seva ya DHCP kwa mtandao wako, hakikisha umebomoa na kuzima Mteja wa DHCP kwenye mfumo wako kwa kutumia amri zifuatazo (badilisha IP na vifaa na mipangilio).

# 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. Kisha unda kiungo cha mfano kutoka kwa kifaa cha kufutilia mtandao kwa jina la kiolesura kilichounganishwa cha NIC yako na uunde faili tuli ya usanidi ya kifaa hiki katika /etc/conf.d/ njia.

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

Hariri faili hii ya kifaa na usanidi ufuatao.

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. Baada ya kumaliza kuhariri usanidi tuli wa NIC, anzisha Kiolesura cha Mtandao na uthibitishe mipangilio na muunganisho wa mtandao kwa kutumia ifconfig na amri za ping na ikiwa kila kitu kimesanidiwa kwa ufanisi kiongeze ili kuanzisha mchakato.

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

Ikiwa unataka seva za majina ya DNS ziwe na mipangilio ya mfumo mzima hariri faili /etc/resolv.conf na uongeze mfuatano wa nameserver kwa kila anwani ya IP ya DNS.

Hatua ya 2: Weka LAMP

5. Baada ya kumaliza na mipangilio ya mtandao endelea na kusakinisha LAMP stack, lakini si kabla ya kuthibitisha wasifu wa Gentoo na kusasisha Portage tree na mfumo.

Kwa seva inayoangazia Mtandao iliyo na viraka vya usalama pengine utataka kutumia wasifu wa Ugumu ambao hubadilisha mipangilio ya kifurushi cha mfumo wako mzima (masks, bendera za USE, n.k). Tumia amri zifuatazo kuorodhesha na kubadilisha wasifu wako.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. Baada ya wasifu unaokufaa zaidi kuwekwa, sasisha mfumo wako na Portage tree.

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

7. Sasa ni wakati wa kuendelea na ufungaji wa LAMP. Thibitisha hati za Apache Web Server kwa bendera za USE ukitumia swichi ya amri ya emerge –pv, kisha uhariri faili ya Portage make.conf yenye bendera za USE zinazohitajika kabla ya kujaribu isakinishe.

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

8. Chagua Alama zako za TUMIA kwa ajili ya kutayarisha mchakato (unaweza kuziacha jinsi zilivyo ikiwa seva yako haihitaji moduli fulani), kisha usakinishe Apache kwa kutumia amri ifuatayo.

# emerge --ask www-servers/apache

9. Kabla ya kuanza huduma ya Apache endesha amri ifuatayo ili kuepuka hitilafu ya ServerName, kisha anza httpd daemon.

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

OR

# /etc/init.d/apache2 start

10. Katika hatua inayofuata sakinisha PHP lugha inayobadilika ya uandishi. Kwa sababu ya wingi wa moduli za PHP, somo hili litakuonyesha orodha kubwa ya moduli zinazotumika kama alama za USE, lakini unapaswa kushikamana na zile ambazo usanidi wa seva yako unahitaji.

Kwanza pata TUMIA bendera maalum za PHP kwa kutumia amri iliyo hapa chini.

# emerge -pv php

11. Kisha hariri faili ya /etc/portage/make.conf na utumie bendera za TUMIA zifuatazo kwa PHP5.5 (alama za USE lazima ziwe zimewashwa mstari mmoja).

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"

Njia nyingine unayoweza kutumia ni kwa kurudia alama za USE ili kujumuisha moduli na chaguo za PHP katika /etc/portage/package.use faili.

# 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. Baada ya kuchagua bendera za TUMIA zinazohitajika kwa kutumia mojawapo ya mbinu mbili zilizowasilishwa, sakinisha PHP kwa amri ifuatayo.

# emerge --ask dev-lang/php

13. Mchakato wa kuibuka kwa PHP unaweza kuchukua muda kulingana na rasilimali za mfumo wako na baada ya kukamilika mwambie Apache kutumia moduli za PHP kwa kuhariri faili ya /etc/conf.d/apache2 na kuongeza PHP5 kwenye APACHE2_OPTS maelekezo.

# nano /etc/conf.d/apache2

Fanya mstari wa APACHE2_OPTS uonekane hivi.

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

Ili kupata orodha ya moduli zilizosanikishwa tumia amri ifuatayo.

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

14. Ili kujaribu usanidi wa seva kufikia sasa, tengeneza phpinfo faili kwenye saraka ya mizizi ya mwenyeji (/var/www/localhost/htdocs/) na uanzishe upya huduma ya Apache, kisha uelekeze yako. kivinjari hadi http://localhost/info.php au http://system_IP/info.php.

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

OR

# /etc/init.d/apache2  restart

Ukipata matokeo sawa na picha hapo juu basi seva yako imesanidiwa ipasavyo. Kwa hivyo, tunaweza kusonga mbele na hifadhidata ya MySQL na usakinishaji wa PhpMyAdmin.

15. Kabla ya kusakinisha hifadhidata ya MySQL thibitisha kifurushi TUMIA bendera na uhariri Portage make.conf ikihitajika. Tumia amri zifuatazo ili kuthibitisha na kusakinisha hifadhidata ya seva ya MySQL.

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

16. Kabla ya kuanza seva ya MySQL hakikisha kwamba hifadhidata ya MySQL imewekwa kwenye mfumo wako kwa kutumia amri ifuatayo.

# /usr/bin/mysql_install_db

17. Sasa anzisha hifadhidata ya MySQL na uilinde kwa kutumia mysql_secure_installation kwa kubadilisha nenosiri la msingi, zima kuingia kwa mizizi nje ya mwenyeji, ondoa mtumiaji asiyejulikana na hifadhidata ya majaribio.

# service mysql start
# mysql_secure_installation

18. Kujaribu utendakazi wa hifadhidata kuingia kwa MySQL kwa kutoa amri iliyo hapa chini na kutoka kwenye hifadhidata yenye taarifa ya kuacha.

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

19. Ikiwa unahitaji kiolesura cha picha ili kudhibiti seva ya MySQL sakinisha PhpMyAdmin kifurushi kwa kutekeleza amri hizi.

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

20. Baada ya kifurushi kukusanywa na kusakinishwa, tengeneza faili ya usanidi ya PhpMyAdmin kwa kunakili faili yake ya kiolezo na ubadilishe neno la siri la blowfish_secret kwa kutumia mfuatano wa kiholela.

# 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. Jaribu mchakato wa kuingia kwenye PhpMyAdmin kwa kufungua kivinjari na utumie URL ifuatayo.

http://localhost/phpmyadmin

22. Ikiwa kila kitu kiko sawa, unaweza kutaka kuanzisha huduma zako kiotomatiki baada ya kuwasha upya kwa kuzifanya zipatikane katika mfumo mzima kwa kutumia amri zifuatazo.

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

Ni hayo tu! Sasa una mazingira yanayobadilika ya wavuti yenye Apache, lugha ya uandishi ya PHP na hifadhidata ya uhusiano ya MySQL kwenye jukwaa la seva linalonyumbulika na kugeuzwa kukufaa linalotolewa na Gentoo.