Донецкий техникум промышленной автоматики

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu (Debian) для використання в якості Web-сервера на базі технології LAMP

  1. ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu...
  2. Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD
  3. Установка і настройка LAMP
  4. Малюнок 1.
  5. Малюнок 2.
  6. Інтеграція Mambo (Joomla!) В XAMPP
  7. Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів
  8. Малюнок 3.
  9. Малюнок 4.
  10. Малюнок 5.
  11. Малюнок 6.
  12. Підсумки і висновки
  13. Ресурси для скачування
  14. ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu...
  15. Серія контенту:
  16. Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD
  17. Установка і настройка LAMP
  18. Малюнок 1.
  19. Малюнок 2.
  20. Інтеграція Mambo (Joomla!) В XAMPP
  21. Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів
  22. Малюнок 3.
  23. Малюнок 4.
  24. Малюнок 5.
  25. Малюнок 6.
  26. Підсумки і висновки
  27. Ресурси для скачування
  28. ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu...
  29. Серія контенту:
  30. Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD
  31. Установка і настройка LAMP
  32. Малюнок 1.
  33. Малюнок 2.
  34. Інтеграція Mambo (Joomla!) В XAMPP
  35. Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів
  36. Малюнок 3.
  37. Малюнок 4.
  38. Малюнок 5.
  39. Малюнок 6.
  40. Підсумки і висновки
  41. Ресурси для скачування

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu (Debian) для використання в якості Web-сервера на базі технології LAMP

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Серія контенту:

Цей контент є частиною # з серії # статей: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Слідкуйте за виходом нових статей цієї серії.

На сьогоднішній день частка зв'язки php + apache + mysql в побудові Web-рішень дуже велика, тому підготовка такої зв'язки на базі відомих і стабільних операційних систем, таких як Linux і FreeBSD, здається досить актуальним завданням. У загальному випадку, рішення цього питання вбачається в установці операційної системи, її налаштування під решаемую завдання (в першу чергу правка ядра і конфігураційного файлу httpd), установці власне інтерпретатора php, його модульному підключенні до Apache, встановлення та налаштування СУБД mysql і загальної інтеграції всіх перерахованих компонентів в проект. Таким чином, весь процес вимагає від людини розуміння того, що відбувається і досвіду в розгортанні даних програмних продуктів. Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити? Тоді на допомогу приходять рішення LAMP, назва яких так і розшифровується: «Linux + Apache + Mysql + PHP + Perl». Домашня сторінка одного з таких проектів знаходиться тут: Linux for XAMPP .

Розглянемо підготовку такого рішення на базі Ubuntu Linux, а потім захопимо і всі системи, перераховані в самому початку. Хочу повідомити читає, що процес установки і настройки всього описаного нижче ПО практично повністю ідентичний для Debian Etch, і це не просте твердження, а перевірений на практиці факт. Зазначу тільки деякі невеликі, але істотні відмінності. В Ubuntu, починаючи з версії 7.04, вже немає php версії 4, є тільки 5-я версія, а ось в Debian Etch є і та, і інша - вибирайте самі, яку вважаєте за краще, на свій розсуд. Дрібниця - але дуже важлива, на мій погляд! Між різними версіями php існують серйозні відмінності і в наборі функцій, і в організації ООП, і в швидкодії.

У цій статті розглянемо методику і практику побудови системи Ubuntu (Debian) Linux + XAMPP + Mambo з метою побудови робочої системи Web-розробника або ж сервера підприємства малого або середнього рівня. Чому малого або середнього? Тому, що для серйозного великого проекту необхідна організація проміжної ланки між Мережею і Web-сервером, причому в якості такого буфера зазвичай виступає «легкий» сервер nginx , Кешуючий запити.

Метою моєї статті не є опис такої системи. Ми розглянемо зв'язку, що дає можливість людині, яка не має спеціальних знань (або не має часу) в області установки і настройки apache + php + mysql + ftpd, швидко і якісно отримати готову систему. Таким чином, не обізнана в цих, загалом не простих питаннях, людина може швидко розгорнути, скажімо, тестову платформу для розробки Web-додатків.

Установка і настройка LAMP

Короткий опис завдання і її складових частин почнемо з компонентів, що входять в систему.

  1. Ubuntu Linux - на сьогодні один з найпопулярніших дистрибутивів Linux. Отримати його можна за адресою: http://www.ubuntu.com/getubuntu/download (початківцям рекомендую варіант Ubuntu 8.04 LTS Desktop Edition, іншим - Ubuntu 8.04 LTS Server Edition).
  2. XAMPP - відразу обмовлюся, що версії для FreeBSD поки немає, на превеликий жаль! Це дуже популярний «джентльменський набір Web-розробника», службовець, як пишуть автори проекту, для простої і швидкої установки Web-сервера Apache, а також таких популярних продуктів, як MySQL, PHP і Perl. І ще, для новачків в Linux додам, що є версія XAMPP для Windows, але я не пробував з нею працювати.

    Документація, на жаль, доступна тільки англійською мовою: http://www.apachefriends.org/en/xampp.html .

  3. Mambo (аналог Joomla - ставити за бажанням, але кажуть, дуже допомагає в розробці додатків для Web) - популярна CMS. Сайт проекту: http://mambo-foundation.org/ .

Спочатку нам доведеться встановити і налаштувати XAMPP, а потім вже mambo, так як остання вимагає готової до роботи зв'язки mysql, apache і php c підтримкою XML, Zlib і інших технологій, можливість роботи з якими нам дає XAMPP. Прочитати про всі підтримуваних продуктом технології можна на сайті проекту: http://www.apachefriends.org/en/xampp-linux.html#374 , А я приведу тільки деякі з них, щоб обнадіяти читають:

«Apache 2.2.9, MySQL 5.0.51b, PHP 5.2.6 & 4.4.8 & PEAR + SQLite 2.8.17 / 3.3.17 + multibyte (mbstring) support, Perl 5.10.0, ProFTPD 1.3.1, phpMyAdmin 2.11. 7, OpenSSL 0.9.8h, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.6.31, Ming 0.3, webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.4, ...... »-

мені здається, більш ніж достатньо - здорово, так?

Далі необхідно завантажити дистрибутив продукту (близько 60 МБ), помістити його в каталог / opt і розпакувати за допомогою наступної команди:

# Tar xvfz /opt/xamp-linux-xxx.tar.gz # cd / opt / lampp # / opt / lampp / lampp start

- ось і все, що потрібно для старту! Ви повинні будете побачити наступне:

Starting XAMPP 1.6.7 ... LAMPP: Starting Apache ... LAMPP: Starting MySQL ... LAMPP started.

Робочим каталогом Web-сервера є / opt / lampp / htdocs /. Тепер перевіримо результат того, що зроблено. Наберіть в браузері:

http: // localhost / xampp

і ви побачите наступну картину (рісунок1). До речі, Web-інтерфейс дуже функціональний, запевняю, ви будете приємно здивовані!

Малюнок 1.

Сервер Apache може працювати і в режимі підтримки ssl. Налаштування проводиться за допомогою утиліти lampp, яку запускає з правами користувача root. Ось основні її параметри:

  • start - запуск XAMPP
  • stop - зупинка XAMPP
  • restart - перезапуск XAMPP
  • startapache - запустити тільки Apapche
  • startssl - включити підтримку SSL для Apache (включається постійна підтримка)
  • startmysql - запустити сервер MySQL
  • startftp - запустити сервер ProFTPD (доступ можливий з ім'ям користувача «nobody» і паролем «lampp»)

Опис інших ключів програми можна прочитати в документації.

Далі необхідно виконати # / opt / lampp / lampp security (малюнок 2) де після введення цієї команди в інтерактивному режимі буде проведена конфігурація декількох параметрів, таких як доступ до mysql через мережу, пароль для root і т.д. Уважно на все відповідайте і запам'ятовуйте введені паролі.

Малюнок 2.

Для управління і адміністрування mysql є phpmyadmin - це для тих, хто не дуже любить працювати з СУБД mysql в командному рядку. Отримати вікно для входу в інтерфейс адміністратора phpmyadmin можна, набравши в браузері наступну адресу:

https: // localhost / phpmyadmin /

Ще раз повторюся, що робочим каталогом для Web-сервера є / opt / lampp / htdocs /.

Наявний FTP-сервер буде автоматично «заводити» користувачів в каталог / opt / lampp / htdocs /. Тепер ми маємо встановлений і працездатний XAMP. Це означає, що у вас вже є робоча зв'язка apache, php, Perl, mysql, ftpd і інших додатків, про які я говорив вище.

Інтеграція Mambo (Joomla!) В XAMPP

Тепер розглянемо другий етап - інтеграцію Mambo (Joomla!) В XAMPP і побудова, таким чином, платформи для створення сайту і власне системи управління контентом.

Зараз ми маємо Ubuntu Linux і встановлений на ній пакет XAMPP, який забезпечує нам підтримку всіх компонентів, необхідних для побудови сайту і навіть більше ....

Отримуємо на сайті http://www.joomla.org/ останню версію CMS joomla! (Назва так і пишеться - зі знаком оклику, не дивуйтеся) і поміщаємо її в каталог / opt / lampp / htdocs /. Потім розпаковуємо командою # tar xvzf joomla_1.5 ....... tar.gz, після чого весь вміст розгорнеться в каталозі / htdocs і потрапить прямо в робочу область LAMPP, тобто саме туди, куди і потрібно.

Конфігурація і установка joomla! здійснюється через Web-інтерфейс, тому в браузері потрібно набрати http: // ip_addr_you_host / Joomla /. При цьому запуститься програма настройки, яка буде проводити користувача по всіх етапах конфігурації CMS.

Потрібно звернути увагу і запам'ятати такі речі, як вибір бази даних в СУБД MYSQL з числа наявних (якщо вони там є) і пароль root на СУБД, який повинен збігатися з тим, що ви давали при установці LAMP. Це необхідно для того, щоб потім не виникали проблеми при доступі до СУБД через phpmyadmin.

Потім настройка FTP (задайте обліковий запис і пароль ті ж, що і при установці LAMP) і, нарешті, - "Main Configuration". Тут є цікава опція - "Install Default Sample Data"; якщо не встановити ці дані, то після установки отримаєте порожній сайт, що потрібно в тому випадку, коли ви точно знаєте, що робити, і володієте способами створення власних шаблонів. А так, для ознайомлення, краще ці дані встановити.

Потім, після натискання на кнопку NEXT, з'явиться кінцева сторінка, на якій вгорі будуть два посилання для входу. Одна - вхід на сайт (той, що ми встановили з Default Sample Data), інша призначена для адміністрування сайту ( http: // ip_addr_you_host / administrator / ). За першою посиланням ви побачите свій сайт в наповненні за замовчуванням, зате з усіма можливостями, а по другий - адміністративний вхід, де і починається довгий, але цікаву справу по створенню власного сайту.

Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів

Тепер розглянемо підготовку і настройку системи Ubuntu в якості Web-сервера з використанням бінарних пакетів з штатних репозиторіїв. Після завантаження системи увійдіть в консоль і там виконайте команду $ sudo aptitude show php5 і, якщо ви побачите (а ви це побачите, якщо не встановили все при початковій установці системи) то, що показано на малюнку 3, - значить, треба все встановлювати і конфігурувати.

Малюнок 3.

Нам знадобляться пакети php5, mysql-server-5.0, php-mysql, apache2 і php5-cli. Встановимо їх в тому порядку, в якому вони написані, після чого приступимо до конфігурації. В процесі установки система запитає у вас пароль root для mysql - як на малюнку 4.

Малюнок 4.

Після вдалої установки всього перерахованого, виконайте в консолі

$ Sudo /etc/init.d/apache2 start

Вам скажуть про те, що необхідно визначити повне доменне ім'я хоста, а до тих пір використовувати на Web-сервері ім'я localhost. Набравши в браузері http: // localhost / і побачивши таку картину, як на малюнку 5, можна переконатися, що Web-сервер працює.

Малюнок 5.

Далі потрібно конфігурувати сервер mysql - встановити пароль для root:

mysql> set password for root @ localhost = password ( 'пароль')

або по-іншому:

$ Mysqladmin -u root password 'new-password'

тоді вхід під паролем в системній консолі буде виглядати так:

$ Mysql -u root -p

потім прибрати анонімних користувачів:

Mysql> use mysql; delete from user where user = ''; delete from db where user = ''; flush privileges;

створити потрібну БД

mysql> create database mydb;

створити потрібний обліковий запис, наділивши її потрібними повноваженнями для роботи у новоствореній базі даних. Ці питання вимагають підвищеної деталізації та залежать від конкретного завдання для СУБД, тому я залишаю їх вам. Покажу тільки найбільш загальні моменти:

команда grant all on * to masha @ localhost identified by 'masha' створить обліковий запис для користувача з ім'ям masha для локального входу, причому для цього користувача встановлюється пароль masha, і йому даються привілеї рівня адміністратора виконувати будь-які дії в обраній (поточної) БД.

Після цих маніпуляцій перевіримо роботу сервера Apache2 c модулем php.

Потрібно створити простий скрипт php.php і помістити в нього наступні рядки, використовуючи для цього текстовий редактор:

<? Php echo phpinfo (); ?>

Потім в браузері можна набрати http: //localhost/php.php і ви повинні побачити те, що зображено на малюнку 6. Тут можна переглянути всі параметри - від імені системи і її версії до версії php і всіх його параметрів, причому як включених, так і очікують включення. Перегляньте цю сторінку уважно - впевнений, вона стане в нагоді тим, хто буде займатися розробкою або підтримкою вже готових систем на зв'язці linux, apache, php і mysql.

Малюнок 6.

Необхідно сказати, що додаткові настройки самого інтерпретатора php можна поправити в файлі конфігурації /etc/php5/apache2/php.ini, в якому сказано, що в такому вигляді, як він тут знаходиться, він може бути придатний тільки для цілей розробки, але не для промислового використання. Кілька змін, пов'язаних з безпекою, повинні бути внесені в цей файл перш, ніж він зможе забезпечувати роботу вашого сайту в режимі онлайн.

Варто перейти по посиланню http://php.net/manual/en/security.php і обдумати рекомендації в самому файлі php.ini, благо він дуже добре прокоментований і сам по собі вже є своєрідним посібником з експлуатації.

Від себе додам кілька невеликих за розміром, але важливих за змістом зауважень.

Наприклад, перевірте параметр у файлі php.ini на предмет його включення file_uploads = On. Якщо він буде Off, то неможливо буде що-небудь завантажити на сайт, використовуючи функції php. І тут же параметр upload_max_filesize = 2M: якщо планується завантажувати файли більшого обсягу, то внесіть сюди потрібну величину.

Крім того, memory_limit = 16M - максимальне середня кількість пам'яті, яке скрипт може спожити при своїй роботі.

Підсумки і висновки

Для забезпечення стабільної та продуктивної платформи для роботи зв'язки apache, mysql і php широко застосовуються різні дистрибутиви GNU / Linux.

Web-сервер (як програмний комплекс) повинен бути добре підготовленою і надійно захищеною системою, що забезпечує високопродуктивну платформу для роботи не тільки http-сервера, але і СУБД. Мова php широко використовується при розробці Web-додатків спільно з apache і СУБД mysql. Встановити і налаштувати робоче середовище для забезпечення функціонування зв'язки apache, mysql і php можна кількома шляхами, одним з яких є установка готової середовища, що включає все зв'язування і допоміжні програми (XAMPP), або шляхом установки відповідних бінарних пакетів за допомогою штатного системного установника. Можлива збірка ПО з вихідних текстів, але ця тема в рамках даної статті не розглядається.

Всі наведені методи можуть забезпечити створення високопродуктивної платформи для розробки Web-додатків на базі Linux.

Ресурси для скачування

Підпишіть мене на повідомлення до коментарів

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu (Debian) для використання в якості Web-сервера на базі технології LAMP

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Серія контенту:

Цей контент є частиною # з серії # статей: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Слідкуйте за виходом нових статей цієї серії.

На сьогоднішній день частка зв'язки php + apache + mysql в побудові Web-рішень дуже велика, тому підготовка такої зв'язки на базі відомих і стабільних операційних систем, таких як Linux і FreeBSD, здається досить актуальним завданням. У загальному випадку, рішення цього питання вбачається в установці операційної системи, її налаштування під решаемую завдання (в першу чергу правка ядра і конфігураційного файлу httpd), установці власне інтерпретатора php, його модульному підключенні до Apache, встановлення та налаштування СУБД mysql і загальної інтеграції всіх перерахованих компонентів в проект. Таким чином, весь процес вимагає від людини розуміння того, що відбувається і досвіду в розгортанні даних програмних продуктів. Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити? Тоді на допомогу приходять рішення LAMP, назва яких так і розшифровується: «Linux + Apache + Mysql + PHP + Perl». Домашня сторінка одного з таких проектів знаходиться тут: Linux for XAMPP .

Розглянемо підготовку такого рішення на базі Ubuntu Linux, а потім захопимо і всі системи, перераховані в самому початку. Хочу повідомити читає, що процес установки і настройки всього описаного нижче ПО практично повністю ідентичний для Debian Etch, і це не просте твердження, а перевірений на практиці факт. Зазначу тільки деякі невеликі, але істотні відмінності. В Ubuntu, починаючи з версії 7.04, вже немає php версії 4, є тільки 5-я версія, а ось в Debian Etch є і та, і інша - вибирайте самі, яку вважаєте за краще, на свій розсуд. Дрібниця - але дуже важлива, на мій погляд! Між різними версіями php існують серйозні відмінності і в наборі функцій, і в організації ООП, і в швидкодії.

У цій статті розглянемо методику і практику побудови системи Ubuntu (Debian) Linux + XAMPP + Mambo з метою побудови робочої системи Web-розробника або ж сервера підприємства малого або середнього рівня. Чому малого або середнього? Тому, що для серйозного великого проекту необхідна організація проміжної ланки між Мережею і Web-сервером, причому в якості такого буфера зазвичай виступає «легкий» сервер nginx , Кешуючий запити.

Метою моєї статті не є опис такої системи. Ми розглянемо зв'язку, що дає можливість людині, яка не має спеціальних знань (або не має часу) в області установки і настройки apache + php + mysql + ftpd, швидко і якісно отримати готову систему. Таким чином, не обізнана в цих, загалом не простих питаннях, людина може швидко розгорнути, скажімо, тестову платформу для розробки Web-додатків.

Установка і настройка LAMP

Короткий опис завдання і її складових частин почнемо з компонентів, що входять в систему.

  1. Ubuntu Linux - на сьогодні один з найпопулярніших дистрибутивів Linux. Отримати його можна за адресою: http://www.ubuntu.com/getubuntu/download (початківцям рекомендую варіант Ubuntu 8.04 LTS Desktop Edition, іншим - Ubuntu 8.04 LTS Server Edition).
  2. XAMPP - відразу обмовлюся, що версії для FreeBSD поки немає, на превеликий жаль! Це дуже популярний «джентльменський набір Web-розробника», службовець, як пишуть автори проекту, для простої і швидкої установки Web-сервера Apache, а також таких популярних продуктів, як MySQL, PHP і Perl. І ще, для новачків в Linux додам, що є версія XAMPP для Windows, але я не пробував з нею працювати.

    Документація, на жаль, доступна тільки англійською мовою: http://www.apachefriends.org/en/xampp.html .

  3. Mambo (аналог Joomla - ставити за бажанням, але кажуть, дуже допомагає в розробці додатків для Web) - популярна CMS. Сайт проекту: http://mambo-foundation.org/ .

Спочатку нам доведеться встановити і налаштувати XAMPP, а потім вже mambo, так як остання вимагає готової до роботи зв'язки mysql, apache і php c підтримкою XML, Zlib і інших технологій, можливість роботи з якими нам дає XAMPP. Прочитати про всі підтримуваних продуктом технології можна на сайті проекту: http://www.apachefriends.org/en/xampp-linux.html#374 , А я приведу тільки деякі з них, щоб обнадіяти читають:

«Apache 2.2.9, MySQL 5.0.51b, PHP 5.2.6 & 4.4.8 & PEAR + SQLite 2.8.17 / 3.3.17 + multibyte (mbstring) support, Perl 5.10.0, ProFTPD 1.3.1, phpMyAdmin 2.11. 7, OpenSSL 0.9.8h, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.6.31, Ming 0.3, webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.4, ...... »-

мені здається, більш ніж достатньо - здорово, так?

Далі необхідно завантажити дистрибутив продукту (близько 60 МБ), помістити його в каталог / opt і розпакувати за допомогою наступної команди:

# Tar xvfz /opt/xamp-linux-xxx.tar.gz # cd / opt / lampp # / opt / lampp / lampp start

- ось і все, що потрібно для старту! Ви повинні будете побачити наступне:

Starting XAMPP 1.6.7 ... LAMPP: Starting Apache ... LAMPP: Starting MySQL ... LAMPP started.

Робочим каталогом Web-сервера є / opt / lampp / htdocs /. Тепер перевіримо результат того, що зроблено. Наберіть в браузері:

http: // localhost / xampp

і ви побачите наступну картину (рісунок1). До речі, Web-інтерфейс дуже функціональний, запевняю, ви будете приємно здивовані!

Малюнок 1.

Сервер Apache може працювати і в режимі підтримки ssl. Налаштування проводиться за допомогою утиліти lampp, яку запускає з правами користувача root. Ось основні її параметри:

  • start - запуск XAMPP
  • stop - зупинка XAMPP
  • restart - перезапуск XAMPP
  • startapache - запустити тільки Apapche
  • startssl - включити підтримку SSL для Apache (включається постійна підтримка)
  • startmysql - запустити сервер MySQL
  • startftp - запустити сервер ProFTPD (доступ можливий з ім'ям користувача «nobody» і паролем «lampp»)

Опис інших ключів програми можна прочитати в документації.

Далі необхідно виконати # / opt / lampp / lampp security (малюнок 2) де після введення цієї команди в інтерактивному режимі буде проведена конфігурація декількох параметрів, таких як доступ до mysql через мережу, пароль для root і т.д. Уважно на все відповідайте і запам'ятовуйте введені паролі.

Малюнок 2.

Для управління і адміністрування mysql є phpmyadmin - це для тих, хто не дуже любить працювати з СУБД mysql в командному рядку. Отримати вікно для входу в інтерфейс адміністратора phpmyadmin можна, набравши в браузері наступну адресу:

https: // localhost / phpmyadmin /

Ще раз повторюся, що робочим каталогом для Web-сервера є / opt / lampp / htdocs /.

Наявний FTP-сервер буде автоматично «заводити» користувачів в каталог / opt / lampp / htdocs /. Тепер ми маємо встановлений і працездатний XAMP. Це означає, що у вас вже є робоча зв'язка apache, php, Perl, mysql, ftpd і інших додатків, про які я говорив вище.

Інтеграція Mambo (Joomla!) В XAMPP

Тепер розглянемо другий етап - інтеграцію Mambo (Joomla!) В XAMPP і побудова, таким чином, платформи для створення сайту і власне системи управління контентом.

Зараз ми маємо Ubuntu Linux і встановлений на ній пакет XAMPP, який забезпечує нам підтримку всіх компонентів, необхідних для побудови сайту і навіть більше ....

Отримуємо на сайті http://www.joomla.org/ останню версію CMS joomla! (Назва так і пишеться - зі знаком оклику, не дивуйтеся) і поміщаємо її в каталог / opt / lampp / htdocs /. Потім розпаковуємо командою # tar xvzf joomla_1.5 ....... tar.gz, після чого весь вміст розгорнеться в каталозі / htdocs і потрапить прямо в робочу область LAMPP, тобто саме туди, куди і потрібно.

Конфігурація і установка joomla! здійснюється через Web-інтерфейс, тому в браузері потрібно набрати http: // ip_addr_you_host / Joomla /. При цьому запуститься програма настройки, яка буде проводити користувача по всіх етапах конфігурації CMS.

Потрібно звернути увагу і запам'ятати такі речі, як вибір бази даних в СУБД MYSQL з числа наявних (якщо вони там є) і пароль root на СУБД, який повинен збігатися з тим, що ви давали при установці LAMP. Це необхідно для того, щоб потім не виникали проблеми при доступі до СУБД через phpmyadmin.

Потім настройка FTP (задайте обліковий запис і пароль ті ж, що і при установці LAMP) і, нарешті, - "Main Configuration". Тут є цікава опція - "Install Default Sample Data"; якщо не встановити ці дані, то після установки отримаєте порожній сайт, що потрібно в тому випадку, коли ви точно знаєте, що робити, і володієте способами створення власних шаблонів. А так, для ознайомлення, краще ці дані встановити.

Потім, після натискання на кнопку NEXT, з'явиться кінцева сторінка, на якій вгорі будуть два посилання для входу. Одна - вхід на сайт (той, що ми встановили з Default Sample Data), інша призначена для адміністрування сайту ( http: // ip_addr_you_host / administrator / ). За першою посиланням ви побачите свій сайт в наповненні за замовчуванням, зате з усіма можливостями, а по другий - адміністративний вхід, де і починається довгий, але цікаву справу по створенню власного сайту.

Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів

Тепер розглянемо підготовку і настройку системи Ubuntu в якості Web-сервера з використанням бінарних пакетів з штатних репозиторіїв. Після завантаження системи увійдіть в консоль і там виконайте команду $ sudo aptitude show php5 і, якщо ви побачите (а ви це побачите, якщо не встановили все при початковій установці системи) то, що показано на малюнку 3, - значить, треба все встановлювати і конфігурувати.

Малюнок 3.

Нам знадобляться пакети php5, mysql-server-5.0, php-mysql, apache2 і php5-cli. Встановимо їх в тому порядку, в якому вони написані, після чого приступимо до конфігурації. В процесі установки система запитає у вас пароль root для mysql - як на малюнку 4.

Малюнок 4.

Після вдалої установки всього перерахованого, виконайте в консолі

$ Sudo /etc/init.d/apache2 start

Вам скажуть про те, що необхідно визначити повне доменне ім'я хоста, а до тих пір використовувати на Web-сервері ім'я localhost. Набравши в браузері http: // localhost / і побачивши таку картину, як на малюнку 5, можна переконатися, що Web-сервер працює.

Малюнок 5.

Далі потрібно конфігурувати сервер mysql - встановити пароль для root:

mysql> set password for root @ localhost = password ( 'пароль')

або по-іншому:

$ Mysqladmin -u root password 'new-password'

тоді вхід під паролем в системній консолі буде виглядати так:

$ Mysql -u root -p

потім прибрати анонімних користувачів:

Mysql> use mysql; delete from user where user = ''; delete from db where user = ''; flush privileges;

створити потрібну БД

mysql> create database mydb;

створити потрібний обліковий запис, наділивши її потрібними повноваженнями для роботи у новоствореній базі даних. Ці питання вимагають підвищеної деталізації та залежать від конкретного завдання для СУБД, тому я залишаю їх вам. Покажу тільки найбільш загальні моменти:

команда grant all on * to masha @ localhost identified by 'masha' створить обліковий запис для користувача з ім'ям masha для локального входу, причому для цього користувача встановлюється пароль masha, і йому даються привілеї рівня адміністратора виконувати будь-які дії в обраній (поточної) БД.

Після цих маніпуляцій перевіримо роботу сервера Apache2 c модулем php.

Потрібно створити простий скрипт php.php і помістити в нього наступні рядки, використовуючи для цього текстовий редактор:

<? Php echo phpinfo (); ?>

Потім в браузері можна набрати http: //localhost/php.php і ви повинні побачити те, що зображено на малюнку 6. Тут можна переглянути всі параметри - від імені системи і її версії до версії php і всіх його параметрів, причому як включених, так і очікують включення. Перегляньте цю сторінку уважно - впевнений, вона стане в нагоді тим, хто буде займатися розробкою або підтримкою вже готових систем на зв'язці linux, apache, php і mysql.

Малюнок 6.

Необхідно сказати, що додаткові настройки самого інтерпретатора php можна поправити в файлі конфігурації /etc/php5/apache2/php.ini, в якому сказано, що в такому вигляді, як він тут знаходиться, він може бути придатний тільки для цілей розробки, але не для промислового використання. Кілька змін, пов'язаних з безпекою, повинні бути внесені в цей файл перш, ніж він зможе забезпечувати роботу вашого сайту в режимі онлайн.

Варто перейти по посиланню http://php.net/manual/en/security.php і обдумати рекомендації в самому файлі php.ini, благо він дуже добре прокоментований і сам по собі вже є своєрідним посібником з експлуатації.

Від себе додам кілька невеликих за розміром, але важливих за змістом зауважень.

Наприклад, перевірте параметр у файлі php.ini на предмет його включення file_uploads = On. Якщо він буде Off, то неможливо буде що-небудь завантажити на сайт, використовуючи функції php. І тут же параметр upload_max_filesize = 2M: якщо планується завантажувати файли більшого обсягу, то внесіть сюди потрібну величину.

Крім того, memory_limit = 16M - максимальне середня кількість пам'яті, яке скрипт може спожити при своїй роботі.

Підсумки і висновки

Для забезпечення стабільної та продуктивної платформи для роботи зв'язки apache, mysql і php широко застосовуються різні дистрибутиви GNU / Linux.

Web-сервер (як програмний комплекс) повинен бути добре підготовленою і надійно захищеною системою, що забезпечує високопродуктивну платформу для роботи не тільки http-сервера, але і СУБД. Мова php широко використовується при розробці Web-додатків спільно з apache і СУБД mysql. Встановити і налаштувати робоче середовище для забезпечення функціонування зв'язки apache, mysql і php можна кількома шляхами, одним з яких є установка готової середовища, що включає все зв'язування і допоміжні програми (XAMPP), або шляхом установки відповідних бінарних пакетів за допомогою штатного системного установника. Можлива збірка ПО з вихідних текстів, але ця тема в рамках даної статті не розглядається.

Всі наведені методи можуть забезпечити створення високопродуктивної платформи для розробки Web-додатків на базі Linux.

Ресурси для скачування

Підпишіть мене на повідомлення до коментарів

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD: Частина 1. Підготовка системи Ubuntu (Debian) для використання в якості Web-сервера на базі технології LAMP

ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Серія контенту:

Цей контент є частиною # з серії # статей: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: ArchLinux, Fedora, ASPLInux, Mandriva, Debian, Ubuntu, FreeBSD

Слідкуйте за виходом нових статей цієї серії.

На сьогоднішній день частка зв'язки php + apache + mysql в побудові Web-рішень дуже велика, тому підготовка такої зв'язки на базі відомих і стабільних операційних систем, таких як Linux і FreeBSD, здається досить актуальним завданням. У загальному випадку, рішення цього питання вбачається в установці операційної системи, її налаштування під решаемую завдання (в першу чергу правка ядра і конфігураційного файлу httpd), установці власне інтерпретатора php, його модульному підключенні до Apache, встановлення та налаштування СУБД mysql і загальної інтеграції всіх перерахованих компонентів в проект. Таким чином, весь процес вимагає від людини розуміння того, що відбувається і досвіду в розгортанні даних програмних продуктів. Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити? Тоді на допомогу приходять рішення LAMP, назва яких так і розшифровується: «Linux + Apache + Mysql + PHP + Perl». Домашня сторінка одного з таких проектів знаходиться тут: Linux for XAMPP .

Розглянемо підготовку такого рішення на базі Ubuntu Linux, а потім захопимо і всі системи, перераховані в самому початку. Хочу повідомити читає, що процес установки і настройки всього описаного нижче ПО практично повністю ідентичний для Debian Etch, і це не просте твердження, а перевірений на практиці факт. Зазначу тільки деякі невеликі, але істотні відмінності. В Ubuntu, починаючи з версії 7.04, вже немає php версії 4, є тільки 5-я версія, а ось в Debian Etch є і та, і інша - вибирайте самі, яку вважаєте за краще, на свій розсуд. Дрібниця - але дуже важлива, на мій погляд! Між різними версіями php існують серйозні відмінності і в наборі функцій, і в організації ООП, і в швидкодії.

У цій статті розглянемо методику і практику побудови системи Ubuntu (Debian) Linux + XAMPP + Mambo з метою побудови робочої системи Web-розробника або ж сервера підприємства малого або середнього рівня. Чому малого або середнього? Тому, що для серйозного великого проекту необхідна організація проміжної ланки між Мережею і Web-сервером, причому в якості такого буфера зазвичай виступає «легкий» сервер nginx , Кешуючий запити.

Метою моєї статті не є опис такої системи. Ми розглянемо зв'язку, що дає можливість людині, яка не має спеціальних знань (або не має часу) в області установки і настройки apache + php + mysql + ftpd, швидко і якісно отримати готову систему. Таким чином, не обізнана в цих, загалом не простих питаннях, людина може швидко розгорнути, скажімо, тестову платформу для розробки Web-додатків.

Установка і настройка LAMP

Короткий опис завдання і її складових частин почнемо з компонентів, що входять в систему.

  1. Ubuntu Linux - на сьогодні один з найпопулярніших дистрибутивів Linux. Отримати його можна за адресою: http://www.ubuntu.com/getubuntu/download (початківцям рекомендую варіант Ubuntu 8.04 LTS Desktop Edition, іншим - Ubuntu 8.04 LTS Server Edition).
  2. XAMPP - відразу обмовлюся, що версії для FreeBSD поки немає, на превеликий жаль! Це дуже популярний «джентльменський набір Web-розробника», службовець, як пишуть автори проекту, для простої і швидкої установки Web-сервера Apache, а також таких популярних продуктів, як MySQL, PHP і Perl. І ще, для новачків в Linux додам, що є версія XAMPP для Windows, але я не пробував з нею працювати.

    Документація, на жаль, доступна тільки англійською мовою: http://www.apachefriends.org/en/xampp.html .

  3. Mambo (аналог Joomla - ставити за бажанням, але кажуть, дуже допомагає в розробці додатків для Web) - популярна CMS. Сайт проекту: http://mambo-foundation.org/ .

Спочатку нам доведеться встановити і налаштувати XAMPP, а потім вже mambo, так як остання вимагає готової до роботи зв'язки mysql, apache і php c підтримкою XML, Zlib і інших технологій, можливість роботи з якими нам дає XAMPP. Прочитати про всі підтримуваних продуктом технології можна на сайті проекту: http://www.apachefriends.org/en/xampp-linux.html#374 , А я приведу тільки деякі з них, щоб обнадіяти читають:

«Apache 2.2.9, MySQL 5.0.51b, PHP 5.2.6 & 4.4.8 & PEAR + SQLite 2.8.17 / 3.3.17 + multibyte (mbstring) support, Perl 5.10.0, ProFTPD 1.3.1, phpMyAdmin 2.11. 7, OpenSSL 0.9.8h, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.12, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.6.31, Ming 0.3, webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.4, ...... »-

мені здається, більш ніж достатньо - здорово, так?

Далі необхідно завантажити дистрибутив продукту (близько 60 МБ), помістити його в каталог / opt і розпакувати за допомогою наступної команди:

# Tar xvfz /opt/xamp-linux-xxx.tar.gz # cd / opt / lampp # / opt / lampp / lampp start

- ось і все, що потрібно для старту! Ви повинні будете побачити наступне:

Starting XAMPP 1.6.7 ... LAMPP: Starting Apache ... LAMPP: Starting MySQL ... LAMPP started.

Робочим каталогом Web-сервера є / opt / lampp / htdocs /. Тепер перевіримо результат того, що зроблено. Наберіть в браузері:

http: // localhost / xampp

і ви побачите наступну картину (рісунок1). До речі, Web-інтерфейс дуже функціональний, запевняю, ви будете приємно здивовані!

Малюнок 1.

Сервер Apache може працювати і в режимі підтримки ssl. Налаштування проводиться за допомогою утиліти lampp, яку запускає з правами користувача root. Ось основні її параметри:

  • start - запуск XAMPP
  • stop - зупинка XAMPP
  • restart - перезапуск XAMPP
  • startapache - запустити тільки Apapche
  • startssl - включити підтримку SSL для Apache (включається постійна підтримка)
  • startmysql - запустити сервер MySQL
  • startftp - запустити сервер ProFTPD (доступ можливий з ім'ям користувача «nobody» і паролем «lampp»)

Опис інших ключів програми можна прочитати в документації.

Далі необхідно виконати # / opt / lampp / lampp security (малюнок 2) де після введення цієї команди в інтерактивному режимі буде проведена конфігурація декількох параметрів, таких як доступ до mysql через мережу, пароль для root і т.д. Уважно на все відповідайте і запам'ятовуйте введені паролі.

Малюнок 2.

Для управління і адміністрування mysql є phpmyadmin - це для тих, хто не дуже любить працювати з СУБД mysql в командному рядку. Отримати вікно для входу в інтерфейс адміністратора phpmyadmin можна, набравши в браузері наступну адресу:

https: // localhost / phpmyadmin /

Ще раз повторюся, що робочим каталогом для Web-сервера є / opt / lampp / htdocs /.

Наявний FTP-сервер буде автоматично «заводити» користувачів в каталог / opt / lampp / htdocs /. Тепер ми маємо встановлений і працездатний XAMP. Це означає, що у вас вже є робоча зв'язка apache, php, Perl, mysql, ftpd і інших додатків, про які я говорив вище.

Інтеграція Mambo (Joomla!) В XAMPP

Тепер розглянемо другий етап - інтеграцію Mambo (Joomla!) В XAMPP і побудова, таким чином, платформи для створення сайту і власне системи управління контентом.

Зараз ми маємо Ubuntu Linux і встановлений на ній пакет XAMPP, який забезпечує нам підтримку всіх компонентів, необхідних для побудови сайту і навіть більше ....

Отримуємо на сайті http://www.joomla.org/ останню версію CMS joomla! (Назва так і пишеться - зі знаком оклику, не дивуйтеся) і поміщаємо її в каталог / opt / lampp / htdocs /. Потім розпаковуємо командою # tar xvzf joomla_1.5 ....... tar.gz, після чого весь вміст розгорнеться в каталозі / htdocs і потрапить прямо в робочу область LAMPP, тобто саме туди, куди і потрібно.

Конфігурація і установка joomla! здійснюється через Web-інтерфейс, тому в браузері потрібно набрати http: // ip_addr_you_host / Joomla /. При цьому запуститься програма настройки, яка буде проводити користувача по всіх етапах конфігурації CMS.

Потрібно звернути увагу і запам'ятати такі речі, як вибір бази даних в СУБД MYSQL з числа наявних (якщо вони там є) і пароль root на СУБД, який повинен збігатися з тим, що ви давали при установці LAMP. Це необхідно для того, щоб потім не виникали проблеми при доступі до СУБД через phpmyadmin.

Потім настройка FTP (задайте обліковий запис і пароль ті ж, що і при установці LAMP) і, нарешті, - "Main Configuration". Тут є цікава опція - "Install Default Sample Data"; якщо не встановити ці дані, то після установки отримаєте порожній сайт, що потрібно в тому випадку, коли ви точно знаєте, що робити, і володієте способами створення власних шаблонів. А так, для ознайомлення, краще ці дані встановити.

Потім, після натискання на кнопку NEXT, з'явиться кінцева сторінка, на якій вгорі будуть два посилання для входу. Одна - вхід на сайт (той, що ми встановили з Default Sample Data), інша призначена для адміністрування сайту ( http: // ip_addr_you_host / administrator / ). За першою посиланням ви побачите свій сайт в наповненні за замовчуванням, зате з усіма можливостями, а по другий - адміністративний вхід, де і починається довгий, але цікаву справу по створенню власного сайту.

Підготовка системи Ubuntu в якості Web-сервера, з використанням бінарних пакетів

Тепер розглянемо підготовку і настройку системи Ubuntu в якості Web-сервера з використанням бінарних пакетів з штатних репозиторіїв. Після завантаження системи увійдіть в консоль і там виконайте команду $ sudo aptitude show php5 і, якщо ви побачите (а ви це побачите, якщо не встановили все при початковій установці системи) то, що показано на малюнку 3, - значить, треба все встановлювати і конфігурувати.

Малюнок 3.

Нам знадобляться пакети php5, mysql-server-5.0, php-mysql, apache2 і php5-cli. Встановимо їх в тому порядку, в якому вони написані, після чого приступимо до конфігурації. В процесі установки система запитає у вас пароль root для mysql - як на малюнку 4.

Малюнок 4.

Після вдалої установки всього перерахованого, виконайте в консолі

$ Sudo /etc/init.d/apache2 start

Вам скажуть про те, що необхідно визначити повне доменне ім'я хоста, а до тих пір використовувати на Web-сервері ім'я localhost. Набравши в браузері http: // localhost / і побачивши таку картину, як на малюнку 5, можна переконатися, що Web-сервер працює.

Малюнок 5.

Далі потрібно конфігурувати сервер mysql - встановити пароль для root:

mysql> set password for root @ localhost = password ( 'пароль')

або по-іншому:

$ Mysqladmin -u root password 'new-password'

тоді вхід під паролем в системній консолі буде виглядати так:

$ Mysql -u root -p

потім прибрати анонімних користувачів:

Mysql> use mysql; delete from user where user = ''; delete from db where user = ''; flush privileges;

створити потрібну БД

mysql> create database mydb;

створити потрібний обліковий запис, наділивши її потрібними повноваженнями для роботи у новоствореній базі даних. Ці питання вимагають підвищеної деталізації та залежать від конкретного завдання для СУБД, тому я залишаю їх вам. Покажу тільки найбільш загальні моменти:

команда grant all on * to masha @ localhost identified by 'masha' створить обліковий запис для користувача з ім'ям masha для локального входу, причому для цього користувача встановлюється пароль masha, і йому даються привілеї рівня адміністратора виконувати будь-які дії в обраній (поточної) БД.

Після цих маніпуляцій перевіримо роботу сервера Apache2 c модулем php.

Потрібно створити простий скрипт php.php і помістити в нього наступні рядки, використовуючи для цього текстовий редактор:

<? Php echo phpinfo (); ?>

Потім в браузері можна набрати http: //localhost/php.php і ви повинні побачити те, що зображено на малюнку 6. Тут можна переглянути всі параметри - від імені системи і її версії до версії php і всіх його параметрів, причому як включених, так і очікують включення. Перегляньте цю сторінку уважно - впевнений, вона стане в нагоді тим, хто буде займатися розробкою або підтримкою вже готових систем на зв'язці linux, apache, php і mysql.

Малюнок 6.

Необхідно сказати, що додаткові настройки самого інтерпретатора php можна поправити в файлі конфігурації /etc/php5/apache2/php.ini, в якому сказано, що в такому вигляді, як він тут знаходиться, він може бути придатний тільки для цілей розробки, але не для промислового використання. Кілька змін, пов'язаних з безпекою, повинні бути внесені в цей файл перш, ніж він зможе забезпечувати роботу вашого сайту в режимі онлайн.

Варто перейти по посиланню http://php.net/manual/en/security.php і обдумати рекомендації в самому файлі php.ini, благо він дуже добре прокоментований і сам по собі вже є своєрідним посібником з експлуатації.

Від себе додам кілька невеликих за розміром, але важливих за змістом зауважень.

Наприклад, перевірте параметр у файлі php.ini на предмет його включення file_uploads = On. Якщо він буде Off, то неможливо буде що-небудь завантажити на сайт, використовуючи функції php. І тут же параметр upload_max_filesize = 2M: якщо планується завантажувати файли більшого обсягу, то внесіть сюди потрібну величину.

Крім того, memory_limit = 16M - максимальне середня кількість пам'яті, яке скрипт може спожити при своїй роботі.

Підсумки і висновки

Для забезпечення стабільної та продуктивної платформи для роботи зв'язки apache, mysql і php широко застосовуються різні дистрибутиви GNU / Linux.

Web-сервер (як програмний комплекс) повинен бути добре підготовленою і надійно захищеною системою, що забезпечує високопродуктивну платформу для роботи не тільки http-сервера, але і СУБД. Мова php широко використовується при розробці Web-додатків спільно з apache і СУБД mysql. Встановити і налаштувати робоче середовище для забезпечення функціонування зв'язки apache, mysql і php можна кількома шляхами, одним з яких є установка готової середовища, що включає все зв'язування і допоміжні програми (XAMPP), або шляхом установки відповідних бінарних пакетів за допомогою штатного системного установника. Можлива збірка ПО з вихідних текстів, але ця тема в рамках даної статті не розглядається.

Всі наведені методи можуть забезпечити створення високопродуктивної платформи для розробки Web-додатків на базі Linux.

Ресурси для скачування

Підпишіть мене на повідомлення до коментарів

Com/developerworks/ru/library/?
Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити?
Чому малого або середнього?
Php echo phpinfo (); ?
Com/developerworks/ru/library/?
Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити?
Чому малого або середнього?
Php echo phpinfo (); ?
Com/developerworks/ru/library/?
Але часто буває, що розробники не хочуть (або не вміють) працювати з перерахованими вище програмами, і виникає питання: що робити?