= bubbalog =Дневникът на моето стадо

Инсталиране на Apache/MySQL/PHP/phpMyAdmin/WordPress на FreeBSD 8.2*

Monday 08.12.2008 01:00 EET · Публикувано от в = FreeBSD =, = Мът'рял от нетя =

Оригинал за FreeBSD 7.0: caffetine.org, Превод и редакция за FreeBSD 8.2 – bubachko

*16.05.2011 – Осъвременена за FreeBSD 8.2, премахнати са някои остарели настройки при инсталация на phpMyAdmin и са опреснени версиите на компонентите с последните до момента. Оригиналната статия за FreeBSD 7.0 седяла дълго време тук е архивирана и достъпна на PDF.

1. Въевдение:

Тази статия описва как се инсталира Apache, MySQL, PHP and phpMyAdmin на сървър под FreeBSD.

2. Software:

Опрерационна система: FreeBSD 8.2 for i386 Download
Apache: 2.2.17 Инсталирано от порт колекцията
MySQL Server: 5.5.9 Инсталирано от порт колекцията
PHP & Extensions: 5.2.17 Инсталирано от порт колекцията
phpMyAdmin: 3.3.9.2 Инсталирано от порт колекцията

3. Преди да започнем:

Статията предполага, че вече имате инсталирано ново FreeBSD с ъпдейтната порт колекция, логнат сте като root или някой друг потребител в wheel групата и използващ командата su. Може да използвате sysinstall, cvsup или portsnap за да инсталирате порт колекцията ако не сте го направили предварително.

4. Инсталиране на MySQL:

Отидете в директорията на mysql55-server в портовете:

# cd /usr/ports/databases/mysql55-server

Настройте опциите за порта: (отнема относително дълго време)

# make BUILD_OPTIMIZED=yes BUILD_STATIC=yes

Инсталирайте:

# make install clean

Прибавете следния ред в /etc/rc.conf. Това ще стартира MySQL сървъра заедно със стартиране на системата.

# echo “mysql_enable=”YES”” >> /etc/rc.conf

Стартирайте mysql ръчно, за да не се налага да рестартирате сега цялата система:

# /usr/local/etc/rc.d/mysql-server start

Направете парола за MySQL на root потребителя като използвате следната команда. В случая не става дума за истинския root потребител на системата. Потребителите в MySQL се отнасят само за MySQL:

# /usr/local/bin/mysqladmin -u root password ‘new-password’

С това инсталацията на MySQL е завършена.

5. Инсталиране на Apache

Отидете в директорията на apache22 в портовете:

# cd /usr/ports/www/apache22

Инсталирайте:

# make install clean

Забележка: Може да изключите двете DAV опции когато ви попита, ако не се нуждаете от тях

Прибавете следния ред в /etc/rc.conf. Това ще стартира Apache сървъра заедно със стартиране на системата.

# echo “Apache22_enable=”YES”” >> /etc/rc.conf

Може да редактирате вашия конфигурационен файл (/usr/local/etc/apache22/httpd.conf) според нуждите ви. Ако ще използвате виртуални хостове, декоментирайте в него реда

#Include etc/apache22/extra/httpd-vhosts.conf

след което редактирайте файла /usr/local/etc/apache22/extra/httpd-vhosts.conf според вашите нужди.

6. Инсталиране на PHP

Отидете в директорията на php52 в портовете:

# cd /usr/ports/lang/php52

Инсталирайте:

# make install clean

Убедете се, че APACHE (Build Apache module) опцията е маркирана, и оставете другите опции както са си преди да натиснете OK.

Отидете в директорията на php52-extentions в портовете:

# cd /usr/ports/lang/php52-extensions

Инсталирайте: (приемете всичко както е, phpMyAdmin ще инсталира всичко друго каквото му е нужно сам)

# make install clean

Копирайте файла php.ini:

# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Редактирайте конфигурационния файл на Apache (/usr/local/etc/apache22/httpd.conf) и прибавете следните линии на края на файла:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Забележка: Може да прибавите и разширения различни от .php (например .phtml) разделени с интервал. Втората линия е опция, тя ще показва в цветове кода на .phps файловете.

Потърсете реда:

DirectoryIndex index.html

и го променете на:

DirectoryIndex index.php index.html

Забележка: Ако се наложи може да добавите и index.phtml или всяко друго, което искате сървъра да разчита като индексна страница.

Следващите 2 настройки са опционални и репоръчвам да се изпълнят само ако има нужда от това.  Трябва да отбележа, че това ми създаде доста ядове и в последствие се оказа, че тази опция не ми беше нужна, и при мен е спряна. Все пак е добре да се зае от къде се пуска и спира. За включването на езиковите настройки махнете # коментара от реда:

#Include etc/apache22/extra/httpd-languages.conf

и редактирайте файла за езикови настройки (/usr/local/etc/apache22/extra/httpd-languages.conf) и прибавете следния ред в края на файла:

AddDefaultCharset On

Стартирайте Apache:

# /usr/local/etc/rc.d/apache22 start

С това приключва инсталацията на Apache с PHP.

7. Installing phpMyAdmin

Отидете в директорията на phpmyadmin в портовете:

# cd /usr/ports/databases/phpmyadmin

Инсталирайте:

# make install clean

phpMyAdmin е инсталиран в /usr/local/www/phpMyAdmin. За да го използвате създайте Alias и Directory команди в /usr/local/etc/apache22/httpd.conf. За да направите прибавете следните редове към края на файла.

Alias /phpmyadmin /usr/local/www/phpMyAdmin
<Directory “/usr/local/www/phpMyAdmin”>
Order allow,deny
Allow from all
</Directory>

Забележка: По този начин се прибавя phpMyAdmin във ВСЕКИ сайт който съществува на сървъра. За да го прибавите само в някои определени сайтове сложите Alias/Directory в  /usr/local/etc/apache22/extra/httpd-vhosts.conf, в съответната секция на избрания сайт.

Рестартирайте Apache за да може Alias и Directory командите да влязат в сила:

# /usr/local/etc/rc.d/apache22 restart

Сега може да отворите phpMyAdmin на http://hostname/phpmyadmin във вашия браузър, ползвайки за MySQL потребителя и паролата, които зададохме по-рано.

8. Инсталация на WordPress

Свалете последната версия на WordPress от http://bg.wordpress.org/. След като го разахиврате, качете директорията на блога в определената за целта директория. В зависимост от метода на ъплоуд, след това трябва да оправите правата за достъп и собственост (chmod, chown) на така качената информация.

Създайте база данни за WordPress и потребител с права да записва в нея. Всяка команда трябва да завършва с ; :

# mysql -u root -p
mysql> CREATE DATABASE databasename;
mysql> GRANT ALL PRIVILEGES ON databasename.* TO wordpressusername@hostname IDENTIFIED BY “password“;
mysql> FLUSH PRIVILEGES;
mysql> EXIT

Редактирайте файла wp-config.php като заместите с вашите данни полетата както е указано в него

Стартирайте вашия нов блог на адрес http://hostname. При първото стартиране еднократно ще се активира скрипт, който ще ви преведе през процеса за начална настройка на блога.

Следвайте стъпките и въведете нужата информация. Ако всичко мине без проблем, следва да се зареди вече работщия нов блог.

Това е. Вече имате инсталиран блог на вашия сървър. От тук натам следва сваляне на плъгини, скинове, настройки и какво ли още не. От мен – приятно забавление.


P.S.: Ето и няколко неща от мен.

1. Едното е бъг, който пречи на Apache да стартира и работи нормално и се получава грешка [warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter. Проблема е в accf_http модула който буферира в кърнъла входящите конекции докато не пристигне цялостна thhp заявка. Това се коригира с командата:

# kldload accf_http

За да прибавите перманентно този модул прибавете просто следния ред в /boot/loader.conf:

accf_http_load=”YES”

Забележка: Първичните настройки са в /boot/defaults/loader.cnf. За да видите други настройки за accf използвайте

grep accf /boot/defaults/loader.conf

което би върнало следния резултат

accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter

 

2. Друг странен момент е, че няколко пъти след като направя всичко както е писано PHP то въобще не подкача и не стартират никакви .php страници, а излизат просто като код. След доста четене някъде попаднах на съвета, да се добавят следните редове към httpd.conf файла

<FilesMatch “\.ph(p[2-6]?|tml)$”>
SetHandler application/x-httpd-php
</FilesMatch>

2 коментара за “Инсталиране на Apache/MySQL/PHP/phpMyAdmin/WordPress на FreeBSD 8.2*”

  1. супер статийка!браво за труда

  2. […] Това просто е файлът от който стартира сървъра. Ако няма – изпълнете процедурата по инсталиране на M…, ако пък го има – просто го пропуснете и стартирайте […]

Остави коментар

Писането на кирилица е задължително!
Коментари, които не са на кирилица ще бъдат изтрити без предупреждение.
Всеки коментари съдържащи 1 или повече линка, ще бъдат публикувани след одобрение.