Инсталация на Apache 2 + PHP 5 + MySQL под Gentoo(2011.0/32-bit)

  • Здравейте драги читатели, в тази статия ще ви запозная с най-лесният начин за инсталация на Apache 2 уеб сървър с PHP 5 поддръжка и MySQL сървър за бази данни. Ако не сте запознати с Gentoo Linux, ще е най-добре да следвате статията.*

ЗАБЕЛЕЖКА: Имайте в предвид, че всички команди в тази статия се изпълняват с root потребител!

За начало ви препоръчвам да изпълните командата:

emerge --sync

Тази команда се изпълнява за да се обнови репозиторито с локални файлове, които се използват при инсталация на какъвто и да е софтуер в Gentoo. В Gentoo Linux репоситорито се нарича Poratege, а пакетният менажер, с който ще работим и ние днес е emerge.

След като тя приключи ако системата ви препоръчва да изпълните

emerge portage

Направете го! Щом системата го препоръчва това означава, че има по-нова версия на Portage от действащата във вашата система.

След това е препоръчително да добавите следните редове в /etc/make.conf(може да ползвате най-удобният за вас текстов редактор):

USE="apache2 cxx examples gnutls ipv6 mmx mmx2 mysql perl sse sse2 syslog threads -X  -alsa -arts -cups -directfb -esd -gnome -gpm -gtk -gtk2 -java -kde -lirc -qt -samba  -svga -v4l -v4l1" LINGUAS="bg en"

ЗАБЕЛЕЖКА: Ако вече имате настроени USE флагове, просто променете така, че да изглеждат като предложените от мен плюс допълнителните от вашият make.conf(Ако искате може да направите бекъп на самият файл и върху ново копие да опишете тези)

Хубаво е да настроите правилни CFLAGS в този файл. Прилагам два линка към официалната Gentoo документация, където има примерни флагове за всички марки и модели процесори:

1. Gentoo Wiki (препоръчително за новаци)s

2. Compilation Optimization Guide (за по-напреднали потребители на Gentoo)

Следва настройка на USE флагове за Apache-2, Apache MPMs, Apache Modules, USE флагове за MySQL, PHP5 и допълнителен софтуер и библиотеки, които ще се инсталират:

Настройка на build flags за Apache 2:

echo 'APACHE2_MPMS="worker"' >> /etc/make.conf echo 'APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm  authn_default authn_file authz_dbm authz_default authz_groupfile authz_host  authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir  disk_cache env expires ext_filter file_cache filter headers include info log_config  logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id  userdir usertrack vhost_alias asis cern_meta charset_lite dumpio ident imagemap  log_forensic reqtimeout substitute version auth_digest authn_dbd dbd"' >> /etc/make.conf echo "www-servers/apache doc ssl suexec threads" >> /etc/portage/package.use

Настройка на build flags за MySQL:

echo "dev-db/mysql community ssl big-tables cluster embedded extraengine" >> /etc/portage/package.use echo "virtual/mysql embedded" >> /etc/portage/package.use

Настройка на build flags за PHP5(5.3.6):

echo "dev-lang/php threads cli cgi fpm apache2 bcmath berkdb bzip2 calendar crypt  ctype curl curlwrappers doc enchant exif fileinfo filter flatfile ftp gd gmp hash  iconv imap inifile intl ipv6 json kerberos mhash mysql mysqlnd mysqli nls pcntl pdo  phar pic posix readline session sharedext simplexml snmp soap sockets spell ssl sysvipc  tidy tokenizer truetype unicode wddx xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib  apache2 threads embed cjk ldap ldap-sasl sqlite sqlite3" >> /etc/portage/package.use

Флагове за друг допълнителен софтуер и библиотеки:

echo "dev-libs/cyrus-sasl -berkdb -gdbm mysql doc freetds ldap sqlite sqlite3" >> /etc/portage/package.use echo "media-libs/gd fontconfig jpeg png xpm truetype" >> /etc/portage/package.use echo "net-libs/gnutls lzo doc" >> /etc/portage/package.use echo "media-libs/freetype auto-hinter fontforge utils" >> /etc/portage/package.use echo "net-nds/openldap -cxx minimal -berkdb overlays" >> /etc/portage/package.use echo "dev-libs/apr-util -berkdb -gdbm sqlite sqlite3" >> /etc/portage/package.use echo "dev-db/sqlite tcl" >> /etc/portage/package.use echo "app-text/enchant aspell" >> /etc/portage/package.use echo "app-arch/libarchive expat xattr" >> /etc/portage/package.use

Начало на компилацията и инсталацията!

Изпълнявате следната команда:

emerge -av dev-lang/php

Въпросната команда трябва да ви пита с yes/no дали потвърждавате, че искате да инсталирате въпросните пакети.

Преди да дадете Yes, обърнете внимание на следното, преди реда на, който трябва да отговорите трябва да виждате следното:

"Total: 89 packages (1 upgrade, 87 new, 1 in new slot), Size of downloads: XXX kB"

Поне при мен на Gentoo 2011.0 базова xen инсталация са толкова, може да разгледате нагоре и да видите дали ще се инсталира всичко, което ви е нужно.

Според това колко е бърза машината(VPS-a) и колко рам/cpu ядра има тук е добро място да си направите чаша кафе и да чакате, докато всичко приключи.

За да довършите инсталацията на MySQL сървъра е нужно да изпълните следната команда:

/usr/bin/mysql_install_db

Тя ще инсталира основната база данни на MySQL сървъра.

За да стартирате MySQL сървъра изпълнявате:

/etc/init.d/mysql start

За да зададете парола за root MySQL потребителя трябва да изпълните командата:

/usr/bin/mysqladmin -u root password 'паролата-която-желаете'

Конфигурации за Apache 2 да работи с PHP 5:

Трябва да отворите за редакция файла /etc/conf.d/apache2 и да откриете реда, който започва с "**APACHE2_OPTS=**" след което да го направите да изглежда така:

APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5 -D INFO -D MANUAL -D LANGUAGE"

Запазвате файла и изпълнявате:

/etc/init.d/apache2 stop /etc/init.d/apache2 start

Сега вече Apache 2 ползва PHP 5. Конфигурационните файлове на Apache в Gentoo се намират в **/etc/apache2*, а за PHP 5 в /etc/php**, като съответно за скриптове извикани през Apache уеб сървъра са в под-папката *apache2-php5.3 за извикани през CGI модула на Apache в cgi-php5.3, а за командата от конзола в **cli-php5.3.**

ЗАБЕЛЕЖКА: *Папките с PHP конфигурационните файлове може да са различни при вас.*

ПО ИЗБОР: За желаещите това е линк към скрипт, който прави всичко това, след това стартира инсталацията и след като тя завърши приключва конфигурациите и стартира сървърите: *Изтегли!*

Етикети: #mysql #php5 #apache2 #install #how-tos #how-to #help-articles #gentoo