Статьи

Установка і настройка локального web-сервера в Ubuntu

  1. Вступ
  2. Apache
  3. Віртуальні хости
  4. ЧПУ
  5. PHP
  6. php.ini
  7. Коротка форма запису
  8. показ помилок
  9. розміри файлів
  10. продовження сесії
  11. MySQL
  12. phpMyAdmin
  13. Бібліотеки GD і CURL
  14. Поштовий сервер
  15. Sendmail
  16. SSH
  17. Git
  18. Віддалений доступ до сайтів
  19. Власники і права

30 Липня. 2014 р
(оновлено 2 нояб. 2017 г.)

Актуально для Ubuntu 16.04, Ubuntu 14.04; Mint 18, Mint 17, а також інших похідних від Debian

Для створення нових сайтів або тестування змін на існуючих часто буває потрібен локальний сервер. По-перше, новий сайт краще викладати вже в готовому вигляді, щоб не бентежити потенційних відвідувачів порожніми сторінками, недописаними матеріалами та полуработающімі фичами. По-друге, нові фічі для існуючих сайтів теж краще тестувати нема на живому сайті, а на його клон. Ну і по-третє, це дозволить працювати над сайтом навіть при тимчасовій відсутності доступу до інтернету. Наприклад, у мене тестовий сервер стоїть на нетбуці, тому я можу спокійно попрацювати і де-небудь в дорозі без жодного інтернету.

Оскільки з Windows відносини у мене не склалися, ні про які Денвері, WAMP і інших наборах для цієї ОС мови у нас тут йти не буде. Наш тестовий сервер ставиться на Ubuntu 16.04 (або на Linux Mint 18, що, по суті, одне і те ж). У більш ранніх версіях можливі деякі відмінності. Постараюся їх обговорювати (то, що згадаю).

Вступ

Отже, визначимося, що нам потрібно. Ну для початку (на всякий випадок, для новачків) розшифруємо абревіатуру LAMP - L inux, A pache, M ySQL, P HP. Передбачається, що Linux у нас вже є (Якщо немає, то ставимо, не боїмося. Ubuntu або Mint, наприклад, ставиться зараз чи не простіше, ніж Вінда.). Що потрібно встановити.

  1. Apache - власне, сам web-сервер.
  2. MySQL - система управління базами даних (СКБД).
  3. PHP - мова програмування.

Якщо ви не є гуру MySQL, і не збираєтеся керувати базами в консолі, вводячи команди ручками, то наступним пунктом буде

  1. phpMyAdmin - графічний інтерфейс управління СУБД MySQL

Також потрібно подумати і про відправку пошти з сайту - це теж частенько доводиться тестувати.

  1. Sendmail - поштовий сервер

Також з великою ймовірністю можуть знадобиться деякі бібліотеки PHP. Зокрема, у мене встановлені

  1. GD - бібліотека для роботи із зображеннями
  2. CURL - бібліотека для роботи з URL

Також варто потурбуватися віддаленим доступом до нашого сервера. Навіщо? Ну, як я вже згадував, сервер у мене на нетбуці. А працювати мені все ж зручніше за комп'ютером з нормальною клавіатурою і великим монітором. Тому безпосередньо за нетбуком я працюю тільки в дорозі. А у вас може бути навпаки, сервер на робочому комп'ютері (або взагалі виділений де-небудь в коморі), а вам хочеться розвалитися з планшетом на дивані. Або хочеться отримувати доступ до свого домашнього сервера з будь-якої точки земної кулі (правда для цього потрібен реальний зовнішній IP-адресу вашої квартирної мережі). Загалом, зручна штука. Втім, якщо все це вам не потрібно, то наступний пункт опускаємо.

  1. SSH-сервер - дозволяє працювати з віддаленим комп'ютером, як з рідним

Ну і нарешті, ще один необов'язковий, але дуже корисний пункт. Система контролю версій (ВКВ). Якщо у вас щось перестало працювати, а зміни перед цим були значними, то відкотити їх може бути досить важко. ВКВ дозволяє вести облік всіх змін і відкотитися в будь-який з попередніх станів однією командою. Существеут безліч ВКВ, але для локального використання (без доступу до інтернету) найкраще підійде Git - дітище Лінуса Торвальдса.

  1. Git - система контролю версій

З необхідними компонентами web-сервера визначилися, приступаємо до встановлення та налаштування

Перші три пункти цілком можна встановити однією командою в терміналі

sudo apt-get install lamp-server ^

Символ ^ в кінці не випадковий, це частина команди. У нас вимагають пароль адміністратора, вводимо.

Перша застереження: ця команда діє, здається, починаючи з Ubuntu 13.04. У більш ранніх версіях всі компоненти встановлювати доведеться окремо. Втім, зробити це теж можна однією командою

sudo apt-get install apache2 php5 php5-mysql mysql-server

Друга застереження: в 16.04 можна писати apt install замість apt-get install. Але для сумісності я тут буду використовувати стару запис.

По ходу установки необхідно відповісти на два питання. Спочатку буде перелік встановлюваних пакетів і питання, чи хочемо ми продовжити установку. Тиснемо Enter. Потім нас попросять ввести пароль рута для MySQL. Вводимо, підтверджуємо. Чекаємо кінця установки.

Тепер налаштуємо і протестуємо всі компоненти.

Apache

Відкриваємо браузер і вводимо в адресному рядку

http: // localhost

Після переходу за цією адресою бачимо вітальну сторінку.

Це означає, що сервер працює. У ранніх версіях, до речі, ця сторінка виглядала значно простіше - просто два рядки тексту з заголовком "It works!" на білому тлі. Власне, в нативному Апачі (НЕ убунтовском) вона, по-моєму, і зараз так виглядає.

Тепер виконаємо деякі настройки. Для цього відкриємо конфігураційний файл Apache /etc/apache2/apache2.conf. Причому зробити це треба з-під рута, тобто з правами адміністратора. Можна цю операцію провернути і в графічній оболонці, але їх зараз розплодилося стільки, що розповідати, як це зробити в кожній з них, доведеться довго. Тому, якщо знаєте як - робіть. Якщо немає, то тут я опишу, мабуть, найпростіший спосіб - консольним текстовим редактором nano.

sudo nano /etc/apache2/apache2.conf

Не забуваємо. що після введення команди, що починається з sudo, потрібно ввести пароль адміністратора. Більше нагадувати не буду.

Тут шукаємо теги <Directory> (це легко зробити вбудованим в nano пошуком; викликається він комбінацією клавіш, або, як кажуть, хоткеем Ctrl + w) і під останнім з них дописуємо

<Directory / home / user / public_html> AllowOverride All Require all granted </ Directory>

Тут ми побігли трохи попереду паровоза, але якщо вже нам довелося відкрити цей файл, то всі зміни відразу і внесемо. Ясніше стане пізніше, поки поясню коротко. Ми прописали опції загальної директорії (папки) для всіх наших сайтів, а саме: дозволили використовувати для неї файл .htaccess (для ЧПУ, наприклад, але не тільки) і надали права доступу (через веб-сервер) для всіх.

Далі хоткеем Alt + / йдемо в кінець файлу і дописуємо тут

ServerName localhost

Зберігаємо хоткеем Ctrl + o, підтверджуємо Ентер і виходимо з nano (Ctrl + x).

Оскільки в переважній більшості (якщо не у всіх) у наших сайтів дефолтной сторінкою буде index.php, а не index.html, то відкриваємо наступний файл.

sudo nano /etc/apache2/mods-available/dir.conf

І тут index.php поміщаємо в початок рядка DirectoryIndex, перед index.html. Має вийти так.

<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </ IfModule>

Зберігаємо і закриваємо.

Віртуальні хости

Тепер налаштуємо віртуальні хости. Навіщо? Ну, в общем-то, можна обійтися і без цього. Всі сайти зберігати в окремих папках в / var / www / html і заходити на них за адресами виду localhost / sitename (де sitename - ім'я папки з сайтом). Але тут є нюанс. Якщо ми працюємо з клоном вже існуючого сайту, де прописані URL виду "/file.html", тобто зі слешем на початку (а такі урли зустрічаються досить часто), то при переході по такому УРЛу потрапимо в localhost / file.html (тобто в нікуди, оскільки такого шляху у нас немає) замість localhost / sitename / file.html. Адже коренева папка у сервера прописана одна - / var / www / html. І вона буде кореневої для всіх сайтів. Тобто нам потрібно, щоб кореневою текою кожного сайту була саме його папка. І для кожного нашого сайту потрібно буде прописати віртуальний хост.

Припустимо, що у нас є тестовий сайт. І розташований він не в / var / www / html, а в / home / user / public_html / testsite (де user - ваше ім'я користувача в Linux). Чому там? У випадку перевстановлення системи (ну хіба мало що ...) не доведеться заново заливати всі сайти (я ж сподіваюся / home у вас на окремому розділі?). Та й з правами менше мороки.

Сайт цей у нас складається всього з одного файлу index.html, що містить наступне

<Html> <head> <meta http-equiv = "Content-Type" content = "text / html; charset = utf-8"> <title> Тестова сторінка </ title> </ head> <body> Тестова сторінка < / body> </ html>

Відкриємо / etc / hosts

sudo nano / etc / hosts

Тут в першу рядок додамо ім'я нашого сайту.

127.0.0.1 localhost testsite

Зберігаємо і закриваємо (нагадаю, Ctrl + o і Ctrl + x відповідно).

Тепер виконуємо в терміналі

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf

Таким чином ми створили кофігураціонний файл сайту testsite, скопіювавши конфігураційний файл дефолтного сайту. Тепер відкриємо цей файл і налаштуємо його під наш сайт.

sudo nano /etc/apache2/sites-available/testsite.conf

Тут раскомментіруем (тобто приберемо #) рядок

#ServerName www.example.com

І пропишемо ім'я нашого сайту. Має вийти:

ServerName testsite

Далі виправимо DocumentRoot, прописавши замість / var / www / html / home / user / public_html / testsite (не забуваємо замість user поставити реальне ім'я користувача).

Зберігаємо і закриваємо. Тепер включаємо наш сайт.

sudo a2ensite testsite

У терміналі нам люб'язно підказують, що активувати нову конфігурацію ми можемо, перезагрузив настроки Апача.

sudo service apache2 reload

В адресному рядку браузера пишемо

http: // testsite

І бачимо нашу тестову сторінку. Якщо не бачимо - ретельно перевіряємо правильність своїх попередніх дій.

Ну і в подальшому будемо працювати вже з цим тестовим сайтом, а не з дефолтних.

ЧПУ

У більшості випадків нам доведеться працювати з ЧПУ-посиланнями. Тому необхідно підключити модуль Апача mod_rewrite.

sudo a2enmod rewrite sudo service apache2 restart

Тепер перевіримо. Створимо в корені нашого сайту (папці testsite) файл .htaccess і запишемо сюди наступне

RewriteEngine on RewriteRule ^ test sef.html [L]

Це означає, що запити на testsite / test будемо перенаправляти на сторінку sef.html.

Тепер створюємо цей самий файл sef.html з вмістом, аналогічним index.html, крім заголовка і тексту:

<Html> <head> <meta http-equiv = "Content-Type" content = "text / html; charset = utf-8"> <title> Тест ЧПУ </ title> </ head> <body> Тест ЧПУ < / body> </ html>

Йдемо на http: // testsite / test. Якщо бачимо нашу новостворену сторінку, значить порядок.

PHP

Тепер перевіримо PHP. Для цього в папці / home / user / public_html / testsite створимо текстовий файлик з наступним змістом:

&lt;? Php phpinfo (); ?>

Зберігаємо цей файлик під ім'ям, наприклад, info.php. Якщо ми тепер перейдемо за адресою http: //testsite/info.php, то побачимо повну інформацію про встановлений в системі PHP.

Якщо побачили - PHP працює.

Якщо сервер локальний, і доступу ззовні до нього немає, то файлик цей можна залишити, він, можливо, ще стане в нагоді. Але ні в якому разі не робіть цього на загальнодоступному сервері, тут цей файл повинен бути вилучений негайно після перевірки!

php.ini

Ну а тепер поколупатися в конфігураційному файлі PHP, що знаходиться за адресою /etc/php5/apache2/php.ini. Та не просто поколупатися, а й дещо змінимо.

sudo nano /etc/php/7.0/apache2/php.ini

Або, в Ubuntu 14.04

sudo nano /etc/php5/apache2/php.ini

Коротка форма запису

short_open_tag = Off

Це означає, що за замовчуванням заборонено використовувати коротку форму запису тегів, тобто &lt;?, а не &lt;? Php. І хоча мені нечасто доводиться зустрічати цю форму (сам я її не використовую), іноді все ж на деяких сайтах попадається. Тому маємо на увазі. Також маємо на увазі, що її включення не дозволить включати xml безпосередньо в php (тільки через echo).

показ помилок

display_errors = Off

Відключений показ помилок. Цілком природно для робітників сайтів - відвідувачам (серед яких і зломщики трапляються) зовсім не потрібно бачити помилки (а тим більше попередження). На нашому ж тестовому сервері бажано цей параметр включити. Хоча іноді він може здорово заважати, тому тут індивідуально. Зрештою помилки можна і в журналі подивитися. Якщо хочемо виводити - ставимо On.

display_startap_errors = Off

Показ помилок при запуску. Якщо потрібно відстежити помилки при запуску PHP, міняємо на On.

track_errors = Off

Якщо поставимо On, то остання відбулася помилка буде першою в змінній $ php_errormsg.

Зберігаємо і закриваємо.

розміри файлів

За замовчуванням максимальний розмір файлу обмежений 2 МБ. Це стосується і імпорту баз даних в phpMyAdmin. А бази досить часто бувають більше, і навіть значно. У великих інтернет-магазинах база розміром 100 МБ - не рідкість. Тому міняємо наступні параметри:

upload_max_filesize = 2M post_max_size = 8M

Встановлюємо влаштовують нас значення.

Цілком можливо, доведеться поміняти ще й

max_execution_time = 30

продовження сесії

За замовчуванням час сесії встановлено в 1440 сек., Тобто в 24 хв. Тобто кожні 24 хвилини доведеться всюди перелогініваться. Зовсім незручно. Тому шукаємо

session.gc_maxlifetime = 1440

І ставимо, наприклад, 86400 (тобто добу). Занадто багато ставити теж не раджу, багато нечищені сміття залишатися буде.

MySQL

Тепер перевіряємо MySQL. Для цього в терміналі вводимо

mysql -p -u root

Вводимо пароль, який ми вводили для користувача root при установці MySQL. Бачимо щось подібне

Welcome to the MySQL monitor. Commands end with; or \ g.
Your MySQL connection id is 5
Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000 2017, Oracle and / or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and / or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\ h' for help. Type '\ c' to clear the current input statement.
mysql>

Всі OK. MySQL працює. Вводимо quit для виходу.

Можна ще одним махом перевірити роботу зв'язки MySQL і PHP. Для цього створимо файл db-test.php (все там же, в корені нашого сайту - / home / user / public_html / testsite) і запишемо туди наступне.

&lt;? php $ link = mysqli_connect ( 'localhost', 'root', 'password'); if (! $ link) die ( 'Connection error ('. mysqli_connect_errno (). ')'. mysqli_connect_error ()); echo 'OK ...'. mysqli_get_host_info ($ link). "\ N"; mysqli_close ($ link); ?>

Перейдемо за адресою http: //testsite/db-test.php. Якщо бачимо текст "OK ... Localhost via UNIX socket", то все добре.

phpMyAdmin

Поїхали далі. Тепер черга phpMyAdmin. У терміналі вводимо

sudo apt-get install phpmyadmin

Після отримання списку пакетів натискаємо Enter на питання, чи хочемо ми продовжити. В ході установки нас запитують, який сервер будемо налаштовувати. Оскільки у нас Apache, то і вибираємо, природно, його ж. Для цього натискаємо пробіл, переконавшись, що червоний курсор встановлений в квадратних дужках навпроти рядка apache2. І переконуємося, що там же, в дужках, з'явилася зірочка.

Натискаємо Enter. Через деякий час з'явиться ще одне вікно з пропозицією встановити і налаштувати базу даних. У нас вже вибрано "Так", тиснемо Enter. Вводимо пароль адміністративного користувача бази даних (той самий, який вводили при установці MySQL), тиснемо Enter, задаємо пароль для реєстрації phpmyadmin в базі, підтверджуємо. Чекаємо кінця установки.

Для PHP 5 (тобто за замовчуванням в Ubuntu 14.04) включаємо Mcrypt

sudo php5enmod mcrypt

Продовжимо сесію.

sudo nano /etc/phpmyadmin/config.inc.php

Тут допишемо в кінець файлу (хоткеем Alt + /)

$ Cfg [ 'LoginCookieValidity'] = 86400;

Тут головне, щоб це число було не більше session.gc_maxlifetime з php.ini, інакше воно не буде мати сенсу.

Перезавантажуємо сервер.

sudo service apache2 restart

І йдемо в браузер.

http: // localhost / phpmyadmin

Бачимо вікно входу в phpMyAdmin

Вводимо ім'я користувача root і пароль, введений нами при установці MySQL. Входимо в phpMyAdmin.

Порядок.

Бібліотеки GD і CURL

В Ubuntu 16.04 GD вже встановлена, тому тут доустановити лише CURL.

sudo apt-get install php-curl

В Ubuntu 14.04 встановити доведеться обидві

sudo apt-get install php5-gd php5-curl

Перезавантажуємо Apache.

sudo service apache2 restart

В принципі, описане тут характерно для будь-якого розширення php - головне знати його назву, і підставити спереду php (в PHP7) або php5 (в PHP5) з дефісом.

Поштовий сервер

SSMTP

Тепер поштовик. В принципі, можна обійтися SSMTP - це легка утиліта, яка відправляє листи через сторонній SMTP-сервер, наприклад Gmail. Але в цьому випадку про тестування пошти оффлайн доведеться забути. Якщо тестування оффлайн не актуальне, то ставимо і налаштовуємо:

sudo apt-get install ssmtp sudo nano /etc/ssmtp/ssmtp.conf

І тут міняємо значення на наступні (для Gmail-сервера).

root = youraccount @ gmail.com mailhub = smtp.gmail.com: 587 AuthUser = youraccount @ gmail.com AuthPass = password UseSTARTTLS = YES

Тут youraccount @ gmail.com - ваш існуючий адресу на Gmail; password - пароль вашого облікового запису на Gmail. Якщо не хочете Gmail, то для інших сервісів настройки принципово відрізнятися не будуть.

Далі. У /etc/php/7.0/apache2/php.ini (або, в 14.04, /etc/php5/apache2/php.ini) знаходимо рядок; sendmail_path =, раскомментіруем її (тобто приберемо;) і пропишемо шлях до ssmtp. має вийти

sendmail_path = / usr / sbin / ssmtp -t

Перезавантажуємо сервер.

sudo service apache2 restart

А тепер перевіримо. Створимо файл index.php в testsite, відкриємо його і пропишемо туди наступне

&lt;? php mail ( "testaccount @ gmail.com", "Test", "Test message"); ?>

Тут знову ж таки testaccount @ gmail.com - ваш існуючий адресу, до якого у вас є доступ (тут - якою завгодно, не обов'язково Gmail).

Тепер перейдемо по http: // testsite. Відобразитися у нас повинна порожня сторінка. Тепер перевіряємо [email protected] - туди має прийти наше тестовий лист.

Sendmail

Якщо ж необхідно тестувати відправку пошти офлайн, ставимо Sendmail.

На всякий випадок. Мова не йде про одночасне використання SSMTP і Sendmail - встановлюємо або те, або інше!

sudo apt-get install sendmail

По закінченню установки запускаємо

sudo sendmailconfig

На всі три питання, що задаються в ході установки, відповідаємо ствердно, тобто тиснемо Enter.

Якщо в /etc/php/7.0/apache2/php.ini (або, в 14.04 /etc/php5/apache2/php.ini) прописували sendmail_path (для SSMTP, наприклад), то просто закоментуйте її (тобто поставте в початку рядка;), тому що за замовчуванням використовується як раз sendmail.

тепер

sudo nano / etc / hosts

І тут в рядок з 127.0.0.1 дописуємо через пробіл

localhost.loc testserver

Тут testserver - ім'я нашого сервера. Воно вже прописано рядком нижче для 127.0.1.1. Зберігаємо, закриваємо і перезапускаємо сервер.

sudo service apache2 restart

тепер командуємо

telnet localhost smtp

Отримуємо.

Trying 127.0.0.1 ...
Connected to localhost.
Escape character is '^]'.
220 localhost.loc ESMTP Sendmail 8.14.4 / 8.14.4 / Debian-4.1ubuntu1; Sat, 26 Jul 2014 21:46:56 +0300; (No UCE / UBE) logging access from: localhost (OK) -localhost [127.0.0.1]

Починаємо тестування. вводимо

helo localhost

відповідь

250 localhost.loc Hello localhost [127.0.0.1], pleased to meet you

Далі чергуються команди і відповіді

mail from: [email protected]

250 2.1.0 [email protected] ... Sender ok

rcpt to: user @localhost

Тут user - ваше ім'я користувача в Linux.

250 2.1.5 user @localhost ... Recipient ok

data

354 Enter mail, end with "." on a line by itself

Тепер ми вводимо текст тестового листа. Закінчити його обов'язково точкою.

test message.

Тиснемо Enter і отримуємо відповідь.

250 2.0.0 s6QItc6L010145 Message accepted for delivery

Чудово. А тепер налаштуємо поштовий клієнт, щоб мати можливість бачити відправлені з сайту і отримані в user @localhost листи. Я користуюся Thunderbird, тому налаштовувати будемо його. Йдемо в Створити - Інші облікові записи. Вибираємо тип облікового запису Unix Mailspool (Movemail), тиснемо Далі. Коротке ім'я абсолютно без різниці, ми сюди листи тільки отримуватимемо, а Адреса електронної пошти прописуємо user @localhost (знову, user - це ваше ім'я користувача в Ubuntu). Тиснемо Далі, потім ще раз Далі, і ще раз Далі, і, нарешті, Готово. Якщо все зробили правильно - у вхідних бачимо наше щойно відправлене при тестуванні лист.

Чи можемо протестувати через PHP, аналогічно тому, як ми робили це з SSMTP , Тільки в index.php виправимо адресу одержувача на user @localhost.

Тепер в настройках сайту будемо прописувати адресу одержувача листів з сайту user @ localhost.loc. Чому не user @localhost? Тому що в більшості випадків така адреса не пройде валідацію. І не втомлююся нагадувати: user замінюємо на ваше ім'я користувача в Ubuntu.

SSH

Залишилося встановити SSH-сервер. Як вже говорилося, це потрібно лише в тому випадку, якщо необхідно управляти сервером віддалено.

sudo apt-get install ssh sudo nano / etc / ssh / sshd_config

Відкрили конфігураційний файл. Тут я б рекомендував поміняти порт, на якому ssh-сервер буде чекати підключення. знаходимо рядок

Port 22

і міняємо на будь-який з діапазону від 1 025 до 65536,. Головне - не забути його потім. У нашому прикладі пропишемо

Port 1111

і будемо його використовувати в подальших прикладах.

Далі знаходимо рядок

PermitRootLogin yes

і міняємо значення yes на no.

Можна взагалі заборонити входити по SSH всім, крім одного користувача - вас. Для цього додаємо наступний рядок (тут, як завжди, user потрібно замінити на ваше ім'я користувача).

AllowUsers user

Перезавантажуємо SSH-сервер

sudo service ssh restart

А тепер пробуємо підключитися з віддаленого пристрою. Припустимо, що IP-адреса сервера - 192.168.1.2. Вводимо (замінивши user на своє ім'я користувача на сервері)

ssh -p 1111 user @ 192.168.1.2

Вводимо свій пароль на сервері і насолоджуємося. Щоб відключитися, вводимо exit.

Примітка. Якщо ви вже підключалися до сервера з будь-якого пристрою, але переустановили ОС на сервері, то після цього підключитися вже не вийде. У цьому випадку видаліть файл / home / user /.ssh/known_hosts на клієнті, підключіться знову і дайте відповідь yes на питання Are you sure you want to continue connecting? (Чи дійсно ви хочете підключитися?). Все, можна працювати.

Для заливки файлів на сервер віддалено також можна скористатися SSH, а не традиційним FTP. Можна це робити і в консолі. Але можна і простіше. Показую на прикладі файлового менеджера Dolphin в KDE.

У лівій панелі (Точки входу) тиснемо Мережа, тут Додати мережеву папку. Вибираємо Папка SSH, тиснемо Далі і заповнюємо поля:

Ім'я - пишемо що завгодно, лише б розуміти, куди ми підключаємося. Ну наприклад, LocalServer.

Користувач - ім'я користувача на сервері.

Сервер - IP-адреса (або ім'я, якщо прописано в / etc / hosts) сервера.

Порт - ми міняли на 1111, його тут і прописуємо. Якщо не змінювали - залишаємо 22.

Протокол - вибираємо fish.

Папка - для зручності пропишемо кореневу папку нашого web-сервера, тобто / home / user / public_html. Тепер при підключенні будемо відразу потрапляти туди. Якщо залишити поле порожнім - буде відкриватися корінь Ubuntu, тобто /.

Тепер тиснемо Зберегти і підключитися. І можемо ганяти файли туди-сюди, як на рідному комп'ютері.

Надалі щоб підключитися тиснемо Мережа і у вікні папку з земним кулькою поверх з ім'ям LocalServer.

Git

Встановлюємо.

sudo apt-get install git

Налаштовуємо.

git config --global user.name "User Name" git config --global user.email "username @ gmail.com"

Тут User Name - ваше реальне ім'я, а username @ gmail.com - ваша існуюча пошта. В общем-то, це все. Про використання Git в найближчому майбутньому сподіваюся написати окрему статтю.

Віддалений доступ до сайтів

Залишилося зрозуміти, як зайти браузером з віддаленого комп'ютера (в локальній мережі) на наш сервер. Візьмемо мою ситуацію. Нагадаю, сервер - на нетбуці, а працюю я на стаціонарному комп'ютері. Так ось, на комп'ютері відкриваємо / etc / hosts і в новому рядку прописуємо

192.168.1.2 testsite

Тут 192.168.1.2 - IP-адреса нашого сервера, testsite - ім'я тестового сайту (їх може бути багато через пробіл). Тепер, набравши в адресному рядку http: // testsite, ми потрапимо саме на testsite на нашому сервері.

Власники і права

Ну і наостанок, ще три команди.

sudo adduser user www-data chown user: www-data -R public_html chmod -R 775 public_html

Тут user - ваше ім'я користувача в Ubuntu. Ми додали себе в групу www-data (оскільки від користувача www-data групи www-data працює Apache), зробили групу www-data групою власника кореневої папки наших сайтів і привласнили для цієї папки права читання і запису для власника і його групи. Це потрібно для того, щоб користувачі user (від імені якого ми заливаємо файли на сервер) і користувача www-data (від імені якого працює веб-сервер) мали однакові права. При додаванні кожного сайту над його папкою потрібно буде виробляти цю процедуру (крім першої команди, тільки не до всієї public_html, а лише до папки нового сайту). Також потрібно це робити для нових файлів, що вимагають зміни з боку сервера.

Все, можна працювати.

Навіщо?
Навіщо?
Чому там?
Php phpinfo (); ?
А не <?
Lt;?
N"; mysqli_close ($ link); ?
Чи дійсно ви хочете підключитися?

Новости