• Главная
  • Карта сайта
Не найдено

Налаштування LAMP сервера на Gentoo

Вітаю, дорогі друзі Вітаю, дорогі друзі!

Сьогодні ми поставимо з Вами LAMP-сервер на Gentoo. По суті справа ця не складне, проте більшість знайдених мною мінлива по установці або містили неточності, або застаріли і втратили свою актуальність.

Отже LAMP - Linux, Apache, MySQL, PHP. Начебто якось так розшифровується ...

Що стосується самої операційки, встановив чисту, свіжу віртуальну машину в VirtualBox. Виконаємо мінімальну настройку системи для роботи нашого сервера.

Для початку налаштування своєї мережевої плати, потрібно розповісти про неї системі Gentoo. Це робиться шляхом створення символічного посилання з net.lo на net. enp0s3 (або що-небудь інше, в залежності від назви вашого мережевого інтерфейсу, наприклад eth0) в /etc/init.d.

# Ln -s net.lo /etc/init.d/net.enp0s3

В даному випадку за замовчуванням IP адреса буде виходити від DHCP сервера. Така настройка нас цілком влаштує, проте в локальній мережі нам буде не завжди зручно шукати http сервер, у якого адреса постійно змінюється. Тому або прописуємо на DHCP сервері конкретний айпішник для нього, або редагуємо файлик etc / conf.d / net.

# Використання DHCP (для очищення совісті) config_eth0 = "dhcp" # статичний IP-адресу, використовується запис CIDR config_eth0 = "192.168.0.7/24" routes_eth0 = "default via 192.168.0.1" dns_servers_eth0 = "192.168.0.1 8.8.8.8" # статичний IP-адресу, запис з маскою підмережі config_eth0 = "192.168.0.7 netmask 255.255.255.0" routes_eth0 = "default via 192.168.0.1" dns_servers_eth0 = "192.168.0.1 8.8.8.8"

Тут я думаю коментарі не потрібні. Далі налаштовуємо запуск мережевого інтерфейсу при завантаженні

rc-update add net.enp0s3 default

У разі успіху отримуємо повідомлення

* Service net.enp0s3 added to runlevel default

Якщо необхідний доступ по ssh, додаємо в автозавантаження і його

rc-update add sshd default

Щоб в майбутньому при запуску не лаявся Apache (хоча це не критично), встановлюємо значення hostname в файлі /etc/conf.d/hostname

Я обізвав свій сервер lampsrv
перезапускаємо hostname

/etc/init.d/hostname restart

Оновлюємо дерево пакетів:

З цього моменту я б порекомендував уважно переглядати результати виконання кожної команди, тому що там може міститися інформація про помилки та попередження. Мені запропонували оновити portage і почитати новини. Оскільки це пропозиція носить рекомендаційний характер, можна і проігнорувати.
Ну а тепер підготовка закінчена і можна приступати до основного дії. Ставимо веб-сервер Apache.

# USE = "ssl apache2" emerge apache

Під прапори USE ми вказали то, з підтримкою чого буде наш Apache. Якщо цікаво тут досить доступно все це описано.

Редагуємо файл /etc/apache2/httpd.conf додавши туди директиву
ServerName ім'я_сервера

Просто, через пробіл, без лапок. Я написав те саме, що і в hostname. Запускаємо Apache. Не забуваємо додати його в автозапуск.

# Rc-update add apache2 default # /etc/init.d/apache2 start

повідомлення

* Caching service dependencies ... [ok] * Starting apache2 ... [ok]

говорять про те, що запуск пройшов успішно. Перевіряємо роботу веб-сервера. У рядку адреси на будь-якому комп'ютері з нашої підмережі пишемо айпішник сервера з Апачем. У віконці у верхньому лівому кутку з'явиться напис «It works! ». Все ок, апач працює. На наступному етапі ставимо PHP.

Звідти вибираємо які потрібні розширення і ставимо

# USE = "apache2 mysql pdo mysqli zip unicode cgi curl gd" emerge php

Установка займає 30-50 хвилин. Можна йти пити чай, курити ...

Одного разу на етапі встановлення PHP у мене не поставився пакет libtasn1-3.6. Установка була перервана. Однак, як я і говорив, потрібно читати результати виконання команд. А там було сказано, що всьому виною неправильно працює perl. Трохи погуглити. Всі рекомендації зводилися до виконання команди perl-cleaner -all. Однак і це у мене викидало помилки. тут я знайшов те, що мене врятувало. Довго не буду зупинятися на цій проблемі, лише наведу команди, які радили виконати хлопці на форумі. Після цього PHP був встановлений.

# Emerge --deselect --ask $ (qlist -IC 'perl-core / *') # emerge -uD1a $ (qlist -IC 'virtual / perl- *') # perl-cleaner -all # emerge dev-libs / libtasn1

Дивимося, що нам радить розумний Linux. А радить він нам трохи поправити файл /etc/conf.d/apache2. Там необхідно додати в рядку з APACHE2_OPTS опцію підтримки PHP5. Дописуємо -D PHP5. Рестартуем Apache.

Тепер для подальшої роботи необхідно перевірити працездатність PHP.

В папці / var / www / localhost зберігається наш сайт. Той, що створився в демонстраційних цілях при установці апача. Файли, які відносяться безпосередньо до веб контенту зберігаються в папці / var / www / localhost / htdocs. Додаємо туди файлик з ім'ям test.php і копіюємо в нього наступний текст

У браузері пишемо ip-адреса / test.php. Бачимо картнку типу цієї

Бачимо картнку типу цієї

Значить все ОК. Якщо бачимо незрозуміло що, перевіряємо, куди поклали test.php. Якщо бачимо тупо вміст цього файлу, значить Apache не підтримує PHP. Перевіряємо опцію "-D PHP" (виглядати має приблизно так APACHE2_OPTS = "- D PHP5 -D DEFAULT_VHOST -D INFO -D SSL ....), Перезапускаємо Apache (/etc/init.d/apache2 restart). Перевіряємо.

Ставимо MySQL.

# Emerge -pv mysql # emerge mysql

Після установки MySQL читаємо:

* Messages for package dev-db / mysql-5.5.40: * MySQL MY_DATADIR is / var / lib / mysql * You might want to run: "emerge --config = dev-db / mysql-5.5.40" * if this is a new install. * If you are upgrading major versions, you should run the * mysql_upgrade tool.

Виконуємо (5.5.40 - як ви розумієте версія MySQL)

# Emerge --config = dev-db / mysql-5.5.40

Вам потрібно буде тільки поставити пароль, решта система зробить за Вас. Додаємо в автостарт і запускаємо.

# Rc-update add mysql default # /etc/init.d/mysql start

Для більш простого управління MySQL-сервером ймовірно нам буде потрібно phpMyAdmin. Ставимо.

# USE = "setup vhosts" emerge phpmyadmin

Опція vhosts нам необхідна для можливості роботи декількох сайтів на нашому сервері. У повідомленні установника сказано:

* The 'vhosts' USE flag is switched ON * This means that Portage will not automatically run webapp-config to * complete the installation. * * To install phpmyadmin-4.1.14.3 into a virtual host, run the following command: * * webapp-config -I -h & lt; host & gt; -d phpmyadmin phpmyadmin 4.1.14.3 * * For more details, see the webapp-config (8) man page

Тобто при установці, була включена опція підтримки декількох сайтів, також дається рекомендація як залити phpMyAdmin на віртуальний хост. Опції підключення vhosts знаходяться в /etc/apache2/httpd.conf. У секції # Virtual-host support розкоментованим рядок Include /etc/apache2/vhosts.d/*.conf це означає, що конфігурації всіх віртуальних хостів будуть знаходиться в папці /etc/apache2/vhosts.d

Тепер перейдемо до налаштування віртуальних хостів. Все, що для цього потрібно лежить в папці /etc/apache2/vhosts.d/. За замовчуванням там лежить 3 файлу

00_default_ssl_vhost.conf 00_default_vhost.conf default_vhost.include

Для розуміння процесу нам необхідно лише 2 останніх. Для настройки повноцінного веб-сервера з декількома сайтами пропоную зробити додатково 2 сайта: з phpMyAdmin і тестовий з WordPress. Нехай папки з контентом називатися pma і wptest, а домени pma.my і wptest.my відповідно.

Для цього робимо по 2 копіїї файлів 00_default_vhost.conf і default_vhost.include. Імена копій значення мають лише для нас, щоб не заплутатися.

# Cd /etc/apache2/vhosts.d/ # cp 00_default_vhost.conf pma.conf # cp default_vhost.include pma.include # nano pma.conf

Правимо. Ми залишаємо тільки таке. Для зручності: щоб видалити поточний рядок в редакторі nano натисніть Ctrl + K.

<IfDefine DEFAULT_VHOST> <VirtualHost *: 80> ServerName pma.my Include /etc/apache2/vhosts.d/pma.include <IfModule mpm_peruser_module> ServerEnvironment apache apache </ IfModule> </ VirtualHost> </ IfDefine>

Тепер переходимо до pma.include

# Nano pma.include ServerAdmin [Email protected] DocumentRoot "/ var / www / pma / htdocs" <Directory "/ var / www / pma / htdocs"> DirectoryIndex index.php Options Indexes FollowSymLinks AllowOverride All Order allow, deny Allow from all </ Directory> <IfModule alias_module> ScriptAlias ​​/ cgi-bin / "/ var / www / pma / cgi-bin /" </ IfModule> <Directory "/ var / www / pma / cgi-bin"> AllowOverride None Options None Order allow, deny Allow from all </ Directory >

Коментувати я думаю необов'язково. CGI скрипти використовуватися не будуть, але опції нехай на всякий випадок залишаються. Створюємо папку для сайту.

Тепер настала черга заповнення її контентом. 4.1.14.3 версія phpMyAdmin.

# Webapp-config -I -h pma phpmyadmin 4.1.14.3

На локальному компі в файлі hosts додаємо запис

Pma.my ip-адреса

Ну або робимо відповідні зміни на DNS-сервері Вашої підмережі.

Тепер pma.my доступний з браузера. Заходимо під користувачем root і з паролем придуманим Вами в процесі конфігурації MySQL. Інтерфейс інтуїтивно зрозумілий. Труднощів виникнути не повинно.

Користуючись нагодою створимо БД для майбутнього сайту на wordpress. Назвемо її wp-test. Створювати таблиці, користувачів немає потреби, движок вордпресу зробить все сам.

Установка wordpress дуже схожа на установку phpMyAdmin, тому сильно в подробиці вдаватися не будемо.

# Echo "www-apps / wordpress" & gt; & gt; /etc/portage/package.accept_keywords # emerge --ask wordpress # mkdir / var / www / wptest # webapp-config -I -h wptest wordpress 4.0

Створюємо wptest.conf і wptest.include. Правимо їх. Перезапускаємо Apache, перевіряємо. Додаємо на локальному комп'ютері в hosts наш новий сайт.

# Cp /etc/apache2/vhosts.d/pma.include /etc/apache2/vhosts.d/wptest.include # cp /etc/apache2/vhosts.d/pma.conf /etc/apache2/vhosts.d/wptest .conf # nano /etc/apache2/vhosts.d/wptest.conf # nano /etc/apache2/vhosts.d/wptest.include

При вході на wptest.my найімовірніше ви побачите такий напис:

Error establishing a database connection

Не лякайтесь. Все нормально. Потрібно трохи поднастроіть wordpress. Редагуємо конфиг wordpress

# Nano /var/www/wptest/htdocs/wp-config.php

міняємо

define ( 'DB_NAME', 'wp-test'); define ( 'DB_USER', 'root'); define ( 'DB_PASSWORD', 'ваш пароль для mysql');

Тепер заходимо на wptest.my і заповнюємо параметри по нашому сайту. Назва сайту, користувач з доступом до адмінки. Жмакаем «InstallWordpress».

Ось як би і все. Ми налаштували 2 віртуальних сайту. Тему можна вважати розглянутої. Для зручності роботи нам може стати в нагоді ftp-сервер, але про це наступного разу.

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью