Debian, LAMP (linux+apache+php+mysql). Размещаем свой первый сайт.

Данная статья является статьей цикла «Установка LAMP одной командой»

Сразу оговорюсь, что идеология всего последующего мануала рассчитана на то, что вы — единственный администратор сервера. Нет, конечно же, вы можете использовать такую конфигурацию с друзьями. Но не пытайтесь использовать её совместно с теми, кому вы не доверяете. Например, клиентами.
Идеология безопасности в данном случае построена на стандартных настройках вашего дистрибутива, которые могут не кореллироваться с идеологией криворуких PHP программистов.
Хотя, за пару лет использования такой схемы я не находил никаких проблем. Но в теории, при выполнении «тыщиусловий» они возникнуть могут.

В обмен на это мы получаем максимально беспроблемное решение в плане «а вот эта CMS тут работать будет или нет?». Ну то есть фактически, я не встречал ни единой проблемы с тем, чтобы что-то не заработало. Под эту конфигурацию пишут почти все PHPники (кроме PHPшников с большой и светлой кармой, пишуших под nginx+php_fpm).

Начнёмс. По условиям задачи — user — это вы. Сайт разместим в каталоге /home/user/site1.ru, где /home/user — домашний каталог пользователя. Сайт, как вы догадались, будет зваться site1.ru. Почему не /var/www ? Просто мне так удобнее. Да и вам будет проще.
Сайт использует CMS для php+mysql (joomla, drupal, wordpress, как примеры).
Вы уже создали все необходимые DNS записи и по «ping site1.ru» отзывается именно ваш сервер. А так же — по «ping www.site1.ru». Аналогично — для всех доменов, которые мы желаем сделать алиасами для нашего сайта.
Алиас — это дополнительный домен для сайта. Наш сайт будет открываться по site1.ru и по www.site1.ru
Так же, обращайте внимание на то, от имени какого пользователя я выполняю команды (user@ или root@)

Приступим. Создадим нужный нам каталог:
user@Debian:~$ mkdir -p /home/user/site1.ru
Теперь разместим в нём файлы нашего сайта любым удобным нам способом. Я обожаю делать вот так:
user@Debian:~$ cd && wget http://ftp.drupal.org/files/projects/drupal-6.17.tar.gz && tar -xfv drupal-6.17.tar.gz && rm -r site1.ru && mv drupal-6.17 site1.ru
Вы же — уже закачали файлы по FTP в site1.ru, пока я вводил эту команду, не так ли?
Теперь очень важная штука.
user@Debian:~$ cd && chown -R user:www-data site1.ru && chmod -R 750 site1.ru
Что мы сейчас сделали. Мы разрешили себе (user) право на чтение и запись в любые файлы каталога site1.ru, разрешили процессам Apache (веб-сервер) доступ на чтение ко всем файлам данного каталога и запретили чтение каталога всем остальным. Для чего? Чтобы ваш сосед по серверу не смог просмотреть файлы вашего сайта. А там обычно в открытом виде хранится пароль доступа к mysql.
Теперь нам следует внимательно ознакомиться с мануалом к CMSке и узнать, куда необходимо разрешить доступ на запись веб-серверу. Ну… условимся, что у CMSки есть каталог upload, доступ на запись к которому нужен всегда, и файл config.php, доступ к которому нужен на время установки. Выдадим нужные права:
user@Debian:~$ cd /home/user/site1 && chmod -R 770 upload
user@Debian:~$ cd /home/user/site1 && chmod 770 config.php
Всё ещё соблюдаем принцип «доступ к этим файлам должен иметь только владелец и веб-сервер». Третью цифру оставляем нулём, если CMS не требует обратного (есть CMSки, которые проверяют не возможность записи в каталог/файл а просто права на файл. Плохие CMSки)

Теперь создадим базу Mysql — http://debian.pro/99 — я тут уже всё подробно по этой теме описал.

А теперь, собственно, мы расскажем Апачу, что мы желаем разместить сайт.
Создадим и отредактируем файлик, который будет содержать информацию о нашем VirtualHost:
root@Debian:~$ nano /etc/apache2/sites-enabled/site1.ru
У вас откроется страшное окошко, в котором можно печатать.
Вам туда нужно вставить следующий текст (вставка в терминале, напоминаю, обычно, работает по ctrl+shift+v или по shift+insert):

<VirtualHost *:80>
DocumentRoot /home/user/site1.ru
ServerName site1.ru
ServerAlias www.site.ru
ServerAdmin [email protected]
</VirtualHost>

После этого жмём Ctrl+X, отвечаем на вопрос сохранять или нет Y и релоадим Апач:
root@Debian:~$ apache2ctl reload
или
root@Debian:~$ /etc/init.d/apache2 restart

Если вы всё сделали правильно и уже правильно работают ваши DNS серверы — по адресу http://site1.ru должен открыться ваш сайт (или инсталлятор CMSки)… ну а дальше вы знаете)
Ну и не забудьте убрать доступ на запись к тем файлам, запись в которые необходима только во время установки (config.php в нашем случае):
user@Debian:~$ cd /home/user/site1 && chmod 750 config.php

Вообще про виртуалхосты почитать можно тут — httpd.apache.org/docs/2.1/mod/core.html#virtualhost
Там много интересной информации, которая вам понадобится, если вы будете заниматься серверами с кучей сайтов (здесь много размышлений, в основном матом, слышится «нищеброды, не могут купить ispmanager»). А пока оно вам ни к чему.

Как открыть файл

Достаточно часто в Интернете натыкаюсь на вопрос, чем открыть тот или иной файл. И действительно, человеку, недавно впервые приобретшему компьютер, может быть не ясно, что это за игра в формате mdf или iso, или как открыть файл swf. Постараюсь собрать все типы файлов, по поводу которых такой вопрос возникает наиболее часто, описать их предназначение и какой программой их можно открыть.

Читать далее Как открыть файл

Установка Windows XP с флешки

Установить Windows XP с USB флешки может потребоваться в различных ситуациях, самая очевидная из которых — необходимость установки Windows XP на слабенький нетбук, не оборудованный приводом для чтения компакт-дисков. И если для установки Windows 7 с USB носителя позаботилась сама Microsoft, выпустив соответствующую утилиту, то для предыдущей версии операционной системы придется пользоваться сторонними программами.

Читать далее Установка Windows XP с флешки

Узнаём разрядность Linux (32 или 64 бита)

Для того, что бы узнать какая (32-х битная или 64-х битная) ОС установлена на Linux выполните:

uname -a

Если получите i386 -> ОС 32 битная,
если же х86_64 -> значит 64 битная.

Получить информацию о версии используемого ядра в Linux можно с помощью

"uname -a"

В Windows информацию об ОС можно узнать на вкладке "Общие" окна "Свойства системы": правый клик на "Мой компьютер" (на рабочем столе или в меню "Пуск") -> "Свойства".

5 вещей в Windows 7 которых не будет в Windows 8

Windows 8 претерпела существенные изменения по сравнению с предыдущей версией операционной системы. В этой небольшой статье постараюсь рассмотреть 6 программ и функций, которые были в Windows 7 и либо не входят в состав Windows 8, либо были заменены другими, более новыми и функциональными приложениями. Перечислять буду в порядке значимости для меня лично.

Читать далее 5 вещей в Windows 7 которых не будет в Windows 8

Узнаем время и дату через консоль

Никогда не возникало желания узнать время или дату, когда под рукой только Debian, а телефон с часами где-то запропастились?

Как всегда в Debian все элементарно, нужно только набрать команду:

date

Команда date — как раз для этих целей. Можно почитать ее справку — там много чего интересного.

Что такое WiFi

WiFi роутер D-link DIR 300Wi-Fi (произносят как вайфай) — беспроводной высокоскоростной стандарт для передачи данных и организации беспроводных сетей.  На сегодняшний день значительное число мобильных устройств, таких как смартфоны, обычные мобильные телефоны, ноутбуки, планшетные компьютеры, а также фотоаппараты, принтеры, современные телевизоры и ряд других устройств оборудованы модулями беспроводной связи WiFi. См. также: Что такое Wi-Fi роутер и зачем он нужен.

Читать далее Что такое WiFi

Что такое синий экран смерти Windows

Синий экран смерти в Windows (BSOD) — один из распространенных видов ошибок в этой операционной системе. Кроме этого, это достаточно серьезная ошибка, которая, в большинстве случаев, мешает нормальной работе с компьютеров.

Читать далее Что такое синий экран смерти Windows

«Soft Errors» — необъяснимые проблемы с компьютером

Прочитал в wired и решил перевести. Статья, конечно, на уровне комсомольской правды, но может быть интересной.Синий экран смерти на терминале оплаты

Около года назад у Стивена Джакиса (Stephen Jakisa) возникли серьезные проблемы с его компьютером. Они начались, когда он установил Battlefield 3 — шутер от первого лица, действие в котором разворачивается в недалеком будущем. В скором времени проблемы были не только в игре, но и его браузер «вылетал» каждые 30 минут или около того. В итоге он даже не мог установить никаких программ на свой ПК.

Читать далее «Soft Errors» — необъяснимые проблемы с компьютером

BIOS: PWRON After PWR-Fail – Что это и как использовать?

Параметр «PWRON After PWR-Fail» (иногда его можно встретить как «AC BACK», «Restore on AC/Power Loss» или «AC Power Loss Restart») в BIOS вашей материнской платы позволяет настроить поведение компьютера после внезапного отключения и последующего восстановления электропитания. Это очень полезная функция, которая может сэкономить время или, наоборот, предотвратить нежелательное включение ПК.

Читать далее BIOS: PWRON After PWR-Fail – Что это и как использовать?