FreeBSD Часть 13 Установка Apache + Mysql + PHP

Установка Apache
Ставим отсюда:
# cd /usr/ports/www/apache22
# make install clean
После завершения процесса установки прописываем в /etc/rc.conf
# echo 'apache22_enable="YES"' >> /etc/rc.conf
Ну и запускаем:
# /usr/local/etc/rc.d/apache22 start
Проверяем: пишем в браузере http://адрес должно появится надпись “It Works.” Значит апач работает

Установка MySQL
Ставим отсюда:
# cd /usr/ports/databases/mysql55-server
# make install clean
После завершения процесса установки прописываем в /etc/rc.conf:
# echo 'mysql_enable="YES"' >> /etc/rc.conf
Ну и запускаем:
# /usr/local/etc/rc.d/mysql-server start
Даем пароль root:
# /usr/local/bin/mysqladmin -u root -h localhost password 'password'
В папке
#/usr/local/share/mysql/
лежат конфигурационные файлы примеров с расширением *.cnf. Выберите тот что вас устраивает и скопируйте его сюда:
#/var/db/mysql/my.cnf
Если хотим чтобы писались логи mysql, нужно в этот файл
вписать строчку
# log_error = /var/log/mysql.log
и не забываем дать разрешение на запись этого файла mysql и настроить ротацию логов.

Установка PHP
Ставим отсюда:
# cd /usr/ports/lang/php5
# make config
Ставим галочку на “Build Apache module” и запускаем процесс установки:
# make install clean
Ставим ещё обязательно:
# cd /usr/ports/lang/php5-extensions/
# make config
Ставим галочку на “MySQL database support” and “MySQLi database support,” и запускаем процесс установки:
# make install clean
Устанавливаем пароль для пользователя root сервера MySQL (если вы еще не сделали этого при настройке MySQL):
# /usr/local/bin/mysqladmin -u root password ‘new-password’
В целях безопасности поднастроим mysql:
в каталоге /usr/local/bin запускаем:
# mysql_secure_installation
Сначала — вводим пароль root:
# Enter current password for root (enter for none):
Нам предложат не менять его:
# You already have a root password set, so you can safely answer ‘n’.
# Change the root password? [Y/n]
жмем n.
Далее — удаляем пользователя anonymous:
# Remove anonymous users? [Y/n] Y
Запретить удаленное подключение пользователю root? У меня доступ из-вне вообще будет запрещен:
# Disallow root login remotely? [Y/n] Y
Удалить базу test и доступ к ней?
# Remove test database and access to it? [Y/n] Y
Обновить таблицу привилегий? Да.
# Reload privilege tables now? [Y/n] Y
# Thanks for using MySQL!
При желании — можете сразу настроить логирование. Для этого создадим файл конфигурации:
# ee /var/db/mysql/my.cnf
и в него добавим две строки:
[mysqld]
log = /var/log/mysql.log
Создадим сам лог-файл:
# touch /var/log/mysql.log
Установим пользователя:
# chown mysql:mysql /var/log/mysql.log
Перезапустим MySQL:
# /usr/local/etc/rc.d/mysql-server restart
Не забываем в /etc/newsyslog.conf внести строчку, чтобы лог ротировал
/var/log/mysql.log 644 5 100 * JC

Установка phpMyAdmin
Для упрощения управления с базами данных, ставим phpMyAdmin, идём сюда:
# cd /usr/ports/databases/phpmyadmin/
# make config
Ставим галочки на “MYSQL M(DB_connect): PHP MySQL support via mysql client” и “MYSQLI M(DB_connect) PHP Improved MySQL client support” и запускаем процесс установки:
# make install clean

Configuration
И так, все установлено, осталось только правильно сконфигурить все модули.
Копируем
# cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini
Если нужна другая среда, выбираем другой файл (вся инфа здесь http://php.net/manual/en/security.php)
Пошли конфигурить Apache. Открываем файл /usr/local/etc/apache22/httpd.conf , ищем такую строку:
DirectoryIndex index.html
Добавляем, должно получится вот это :
DirectoryIndex index.html index.htm index.php
Раскомментируем, и заменим на имя хоста:
#ServerName http://www.example.com:80
Например:
Servername xxx.com:80
Ищем строки начинающиеся с AddType
Рядом добавляем вот такие строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ищем строки начинающиеся с Alias и добавляем:
Alias /phpmyadmin "/usr/local/www/phpMyAdmin"
<Directory "/usr/local/www/phpMyAdmin">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Раскоментируем строчку для multilanguage support to Apache:
Include etc/apache22/extra/httpd-languages.conf
Для проверки все ли правильно сделали — создадим файл index.php:
# ee /usr/local/www/apache22/data/index.php
В него вставим строки:

<?php
phpinfo( );
?>

Удалим index.html:
# rm /usr/local/www/apache22/data/index.html
Перезапускаем Apache:
# apachectl restart
И пробуем через браузер открыть страничку. В результате — должна открыться страница с описанием конфигурации Apache и PHP. Если вместо этого предлагает сохранить файл, или открывается страница с кодом — что-то сделано не так, проверяйте.
В целях безопасности — не рекомендуется оставлять файл index.php в таком виде в открытом доступе.
Если все прошло нормально — можно почти расслабиться. Остался последний пункт.
Теперь конфигурим phpMyAdmin.
Создаем диреекторию /usr/local/www/phpMyAdmin/config и делаем ей такие права:
# mkdir /usr/local/www/phpMyAdmin/config
# chmod o+w /usr/local/www/phpMyAdmin/config

Пишем в браузере  http://your-hostname-or-IP-address/phpmyadmin/setup   видим сетапную страничку phpmyadmin.
Жмем “New server” и закладку “Authentication”. Выбираем “http” и удаляем “root”.
Жмем "SAVE". Возвращаемся на прежнюю страницу жмем опять "SAVE".
Перемещаем файлик:
# mv /usr/local/www/phpMyAdmin/config/config.inc.php /usr/local/www/phpMyAdmin
Удаляем директорию:
# rm -r /usr/local/www/phpMyAdmin/config
Рестартуем службы.
# /usr/local/etc/rc.d/apache22 restart
# /usr/local/etc/rc.d/mysql-server restart
На этом всё! Должно все работать. Набираем в браузере: http://your-hostname-or-IP-address/phpmyadmin/
должны попасть в phpmyadmin.

 

Категории:

Рейтинг: 
Средняя: 3 (3 оценок)

Комментарии

все описано просто супер !!!!! Автору большой РЕСПЕКТ!!! 

но есть 1 ошибочка : Установка phpMyAdmin
Для упрощения управления с базами данных, ставим phpMyAdmin, идём сюда:
# cd /usr/ports/database/phpmyadmin/ - не правильный порт

# cd /usr/ports/databases/phpmyadmin/ - вот правильный )))

еще раз спс

Точно, маленькая ошибочка, спасибо, исправляю.

none.ru

статья зачетная!

но есть несколько неточностей.

1) Если хотим чтобы писались логи mysql, нужно в файл
# /var/db/my.cnf

такого файла нет

2) далее по тексту, вы обращаетесь к нему уже по пути /var/db/mysql/my.cnf

но, опять-же, и тут этого файла нет. этот файл, а вернее, это пример, есть в /usr/local/share/mysql/my-small.cnf

просто можно его скопировать.

3) Даем пароль root:
# /usr/local/bin/mysqladmin -u root -h localhost password 'password'

а потом...

Устанавливаем пароль для пользователя root сервера MySQL:
# /usr/local/bin/mysqladmin -u root password ‘new-password’

возможно, я тут логики не увидел...

Спасибо Виктор, учел, поправил статью!

Жаль что не описаны возможные ошибки.

1. DB squidctrl connected. Installation script stopped. Remove base squidctrl and start a script again

      - удаление базы squidctrl помогает: mysql -u root -p / DROP DATABASE squidctrl;

2. AMS installations. File squid_db.sql opened

      -  и вот тут вообще не понятно что делать.

3. А также непонятный запрет доступа к самсу 017.radikal.ru/i421/1312/4c/ce26d5c9af45.png

      - также не понятно как с этим бороться

 

здравствуйте

Fatal error: Call to undefined function mb_detect_encoding() in /usr/local/www/phpMyAdmin/libraries/php-gettext/gettext.inc on line 177

Не подскажите где я не так что сделал ???

Добавить комментарий

Filtered HTML

Plain text