Linux
В статье рассматривается установка веб-сервера, его конфигурирование, установка необходимых расширений и библиотек, дополнительных веб-приложений и тестирование всего этого на примере установки CMS Drupal.
Статья рассчитана на начинающих пользователей Linux, поэтому содержит теоретические вставки и предполагает использование GUI там, где это возможно и оправдано.
В качестве дистрибутива Linux используется Ubuntu 10.04, хотя инструкция, надо полагать, справедлива как для других версий Ubuntu, так и для некоторых других дистрибутивов.
Установка Apache
Текущая версия Apache 2.2.Х, поэтому в качестве названия чаще всего будет фигурировать не «apache», а «apache2» или «a2».
Итак, заходим в менеджер пакетов Synaptic и вбиваем в поиск слово «apache2».

Пакет «аpache2» является метапакетом, его установка повлечет за собой установку пакетов apache2-mpm-worker (обеспечивает многопоточность), apache2-utils (содержит некоторые дополнительные утилиты для тестирования и управления сервером), apache2.2-bin (двоичные файлы), apache2.2-common (сценарии настройки и поддержки) и ряда библиотек. Все вместе весит чуть больше 10МБ.
Отмечаем пакет «apache2» для установки, соглашаемся с установкой дополнительных пакетов, нажимаем «применить».
Все, Apache установлен. Переходим в браузере по адресу http://localhost/, чтобы проверить работоспособность. Если все сделали правильно, должно вывестись сообщение «It works!».

Для проверки статуса сервера, его включения, выключения, рестарта или перезагрузки данных конфигурации используются следующие команды:
/etc/init.d/apache2 status
sudo /etc/init.d/apache2 start
/etc/init.d/apache2 stop
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 reload
Start, restart и reload надо производить с root правами (используя sudo), в противном случае будет ошибка такого вида:
Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Это связано с тем, что работать с портами 0-1024 можно только имея административные права (в данном случае используется 80-й порт, стандартный для веб-сервера).
По умолчанию сервер будет автоматически запускаться вместе со стартом системы.
Файл конфигурации Apache хранится по адресу /ect/apache2/apache2.conf. Привычный файл httpd.conf располагается в той же папке и предназначен для пользовательской конфигурации, поэтому изначально пуст.
Корневым каталогом для сервера является каталог /var/www. Если в него заглянуть, можно обнаружить файл index.html, именно содержание этого файла нам вывелось, когда мы набрали в браузере «http://localhost/».
Если при попытке старта, остановки или перезапуска выдается ошибка вида
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName»
то стоит прописать ServerName вручную.
Открываем файл httpd.conf в редакторе gedit с правами администратора
sudo gedit /etc/apache2/httpd.conf
прописываем
ServerName 127.0.0.1
и сохраняем.
Установка PHP
Переходим в менеджер пакетов Synaptic и вводим в поиск «php5».

Отмечаем и устанавливаем метапакет «php5», в который помимо всего прочего входит модуль php5 для Apache libapache2-mod-php5.
PHP установлен, осталось только его проверить. Для этого создаем в папке /var/www файл test.php. Так как на папку www стоят права 755, никто кроме root-а не имеет прав доступа на изменения чего-либо в ней.
Наберем в терминале
sudo gedit /var/www/test.php
Это команда создает от имени администратора файл test.php и открывает его для изменения в текстовом редакторе gedit.
Вписываем в открывшийся документ следующий код
- <?php
- phpinfo();
- ?>
и сохраняем. К слову, созданный файл получил права 644, что также оставляет права на редактирование только за root-ом.
После этого перезапускаем Apache и переходим в браузере по адресу http://localhost/test.php. Если все сделали правильно, то должна вывестись информация о php:

Конфигурационный файл php находится в /etc/php5/apache2/php.ini, права на файл выставлены 644, поэтому что-либо изменить в нем можно только открыв файл для редактирования с root правами. Советую сразу в php.ini изменить строчку «display_errors = Off» на «display_errors = On», в противном случае если в коде будут какие-то ошибки, браузером будет отдаваться пустая страница без пояснений. Также не ищите в файле php.ini подключаемых расширений, код для их подключения находится в ini файлах в папке /etc/php5/conf.d. Этот каталог при каждом запуске сервера сканируется, и информация из расположенных в нем ini файлов подключается к главному конфигурационному файлу php.ini.
Установка MySQL
Переходим в Synaptic, вбиваем в поиск «mysql-server-5.1», отмечаем для установки пакет «mysql-server», который является метапакетом и потянет за собой как сам MySQL сервер последней версии, так и другие пакеты, в частности пакет MySQL клиента mysql-client-5.1.

Соглашаемся с установкой дополнительный пакетов и кликаем на «Применить». В процессе установки у нас скорее всего потребуют ввести и подтвердить пароль для root-пользователя базы данных (ничего общего с root-ом самой Linux он не имеет). Вводим, подтверждаем и ждем завершения установки пакетов.
СУБД MySQL установлена. По умолчанию создаются две базы данных, mysql (системная) и information_schema (своего рода информационная метабаза, данные в ней нельзя редактировать или удалять, только просматривать, также под нее не создается отдельного каталога).
Проверим, действительно ли создались эти две базы данных. Для работы в MySQL в консоле и выполнения SQL запросов воспользуемся утилитой mysql (входит в состав пакета mysql-client, который мы уже установили).
mysql -u root -p
У нас запросится пароль, который мы вводили при установке MySQL. Вводим его. В результате мы должны получить приглашение командной строки для ввода команд MySQL и выражений на языке SQL. Запросим показать имеющиеся базы данных.
show databases;
Должен вывестись список имеющихся баз данных, в нашем случае это mysql и information_schema.
Выходим из mysql:
exit;
Выглядеть это должно примерно так:

Для старта, остановки или перезагрузки MySQL используйте команды:
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
Главный конфигурационный файл MySQL находится в /etc/mysql/my.cnf.
Каталоги с базами данных по умолчанию находятся в /var/lib/mysql. Право на просмотр и редактирования содержимого этого каталога имеет только пользователь с root правами. Если постоянно вводить команду «sudo» не хочется, то можно запустить файловый менеджер Nautilus от имени суперпользователя. Нажмите Alt+F2 и наберите gksudo nautilus:

У вас запросится пароль администратора, после ввода которого откроется Nautilus с неограниченными правами, где вы уже легко сможете просмотреть содержимое любых каталогов.

Более того, все файлы, открытые в запущенном от имени администратора Nautilus-е, также будут открыты от имени администратора, а соответственно и доступны для редактирования.
Установка phpMyAdmin
Консоль это конечно хорошо, но не слишком удобно. Поэтому установим phpMyAdmin, веб-интерфейс для администрирования СУБД MySQL.
Переходим в Synaptic, вбиваем в поиск «phpmyadmin» и отмечаем для установки пакет с аналогичным названием, соглашаемся на установку дополнительных пакетов, применяем изменения.

Во время установки пакета вам надо будет ответить на несколько вопросов. В качестве веб-сервера надо выбрать Apache2, согласиться с автоматической настройкой phpMyAdmin, ввести root пароль MySQL и назначить пароль для самой phpMyAdmin.
PhpMyAdmin установлен, переходим по адресу http://localhost/phpmyadmin/, вводим логин и пароль (который мы назначили в процессе установки phpMyAdmin) и оказываемся в административной части.

Файлы конфигурации phpMyAdmin хранятся в /etc/phpmyadmin, сам phpMyAdmin лежит в /usr/share/phpmyadmin, а не в /var/www, как можно было бы подумать (в конфигурационном файле /etc/phpmyadmin/apache.conf прописан алиас «Alias /phpmyadmin /usr/share/phpmyadmin»).
Установка модулей Apache
Скорее всего, нам рано или поздно придется ставить некоторые модули для Apache. Какие-то модули уже установлены, но не активированы, какие-то придется выкачивать используя все тот же Synaptic.
Скаченные и доступные модули хранятся в папке /etc/apache2/mods-available, включенные — в папке /etc/apache2/mods-enabled (папка содержит символические ссылки на доступные модули из папки mods-available).
В первую очередь нас интересует модуль mod_rewrite (если коротко — используется для ЧПУ, 301 редиректа, организации запрета хотлинков).
Модуль mod_rewrite у нас уже установлен (/etc/apache2/mods-available/rewrite.load), осталось его только активировать.
Для включения и выключения модулей используются следующие команды:
sudo a2enmod модуль
sudo a2dismod модуль
Где a2enmod расшифровывается как Apache2 enable module, т.е. включить модуль апача, а a2dismod наоборот, выключить.
Включим модуль mod_rewrite:
sudo a2enmod rewrite
и перезагрузим апач:
sudo /etc/init.d/apache2 restart
Мод установлен. Теперь, если мы перейдем по адресу http://localhost/test.php (где мы сделали вывод функции phpinfo), то в графе «Loaded Modules» мы увидим наш активированный модуль mod_rewrite.
Установка библиотек расширений PHP
В первую очередь, конечно же, надо установить библиотеку php-mysql для работы с MySQL функциями. Однако это библиотека у нас уже стоит, она требовалась для работоспособности phpMyAdmin и поставилась автоматически.
Поэтому ставить будем php-curl (Client URL Library). Заходим в Synaptic, набираем в строке поиска php-curl, отмечаем для установки, применяем. В отличии от предыдущих устанавливаемых нами пакетов, этот пакет ничего кроме php-curl за собой не потянет, т. к. является просто расширением.

После установки пакета в выводе функции phpinfo() должна появиться информация об установленном cURL.

Создание виртуальных хостов
По умолчанию корневой директорий у нас является /var/www, но это не очень удобно. Хочется для каждого сайта создать отдельную папку, получить полную свободу действий без ограничений по правам (хотя, конечно, и на /var/www права изменить никто не запрещает).
Создадим в нашем домашнем каталоге (/home/username) папку sites, в ней папку test.my, а в папке test.my папку public. Создадим и поместим в папку public файл index.php следующего содержания:
- <?php
- echo 'Hello, world!';
- ?>
Теперь необходимо сделать так, чтобы при обращении в браузере к адресу http://test.my или http://www.test.my на экран выводилась надпись «Hello, world!».
Зайдем в папку /etc/apache2. Здесь мы увидим помимо прочего два каталога — sites-available и sites-enabled. Как и в случае с модулями, в папке sites-available хранится информация о существующих хостах, а в папке sites-enabled о подключенных, причем файлы в ней являются символическими ссылками на файлы из папки sites-available.
Создадим в каталоге sites-available файл test.my (к слову, назвать его можно как угодно, но так просто легче не запутаться) и откроем его для редактирования.
sudo gedit /etc/apache2/sites-available/test.my
Скопируем в него полностью содержимое файла /etc/apache2/sites-available/default (отрыть для чтения его можно просто двойным кликом) и внесем некоторые изменения.
После строчки
ServerAdmin webmaster@localhost
добавим
ServerName test.my
ServerAlias www.test.my
Заменим адрес директории
DocumentRoot /var/www
на директорию, созданную нами в своем домашнем каталоге
DocumentRoot /home/username/sites/test.my/public
Теперь разрешим использовать файл .htaccess для этого хоста.
Заменим строчку
<Directory /var/www/>
на
<Directory /home/username/sites/test.my/public/>
А также изменим значение
AllowOverride None
на значение
AllowOverride All
Без этих изменений файл .htaccess в корне нашего сайта будет игнорироваться.
Вместо username, естественно, надо поставить свой логин в системе. После чего закрываем файл с сохранением изменений.
В принципе, можно было изменить и директорию для сохранения логов, но это необязательно. К слову, папка test.my/public сделана исключительно для удобства, чтобы в случае чего создать еще test.my/log, test.my/tmp и другие, так что вместо /var/www можно указать и просто /home/username/sites/test.my.
Переходим к редактированию файла hosts.
sudo gedit /etc/hosts
Добавляем строчку
127.0.0.1 test.my www.test.my
и закрываем файл hosts с применением изменений.
Осталось только включить наш сайт, перезапустить апач и проверить, все ли работает нормально.
Включаем сайт:
sudo a2ensite test.my
Для выключения сайта используется команда
sudo a2dissite test.my
Перезагружаем апач
sudo /etc/init.d/apache2 restart
или
sudo /etc/init.d/apache2 reload
И переходим в браузере по адресам test.my и www.test.my. В обоих случаях должна выводиться надпись «Hello, world!».

Установка Drupal
LAMP у нас уже установлен, осталось его протестировать. Всякие phpinfo() и прочие «Hello, world» это конечно хорошо, но установка CMS поможет протестировать именно связку MySQL, php и кучи модулей и выявить проблемы, если таковые имеются. Итак, приступим.
Для начала создадим папку /home/username/sites/drupal1.my/public и настроим виртуальный хост для нашего будущего сайта.
Далее скачаем последний дистрибутив Drupal с официального сайта drupal.org и распакуем его содержимое в папку public. В папке с Drupal необходимо создать копию файла sites/default/default.settings.php и переименовать ее в sites/default/settings.php (сам файл default.settings.php изменять или удалять нельзя).
Если вы распакуете архив с Drupal в другую папку, а потом просто все скопируете в public, не забудьте перед самим копированием включить в файловом менеджере отображение скрытых файлов (в Nautilus-е это Ctrl+H или Вид/Показывать скрытые файлы). Дело в том, что файл .htaccess начинается с точки, а значит в Linux является скрытым. Если вы его не скопируете в папку с вашим сайтом, то как минимум не будет работать mod_rewrite.
Создадим БД для нашего сайта, воспользовавшись уже установленным phpMyAdmin. Базу назовем, к примеру, drupal1.
После того, как база данных создана, переходим в браузере по адресу drupal1.my. Нас должно средиректить на страницу установки drupal1.my/install.php?profile=default. Если редиректа не произошло, то сами переходим по адресу drupal1.my/install.php.
Выбираем «Install Drupal in English» и переходим к следующему шагу установки. Сразу могут посыпаться ошибки, связанные с правами доступа, но это решается довольно быстро.
Ошибка:
The Drupal installer requires write permissions to ./sites/default/settings.php during the installation process.
Проверим, какие права у нас стоят на файл settings.php
ls -l /home/username/sites/drupal1.my/public/sites/default/settings.php
Права стоят rw-r--r-- (или 644 в восьмеричной системе счисления), т.е. изменять файл может только его владелец. Изменим права на rw-r--rw-, или 646.
chmod 646 /home/username/sites/drupal1.my/public/sites/default/settings.php
Теперь вернемся к нашему Drupal и нажмем на ссылку «tray again». Ошибка должна исчезнуть.
Вторая ошибка, связанная с правами доступа, может звучать так:
The directory sites/default/files does not exist. An automated attempt to create this directory failed, possibly due to a permissions problem.
Drupal не может создать папку files, т.е. cкорее всего ограничены права на запись для папки default. Проверим их.
ls -ld /home/username/sites/drupal1.my/public/sites/default
Права rwxr-xr-x (или 755), а значит право на запись имеет только владелец. Изменим их на rwxr-xrwx (757).
chmod 757 /home/username/sites/drupal1.my/public/sites/default
Снова вернемся к Drupal и перейдем по ссылке «tray again». Ошибок с правами доступа больше быть не должно, и мы перейдем к основным этапам установки.
На первом этапе нас попросят ввести имя базы данных, имя пользователя и пароль к БД. Базу данных мы назвали drupal1, в качестве пользователя указываем root, пароль указываем тот, который мы вводили при установке MySQL. В разделе «Advanced options/Database host» оставляем localhost. Кликаем на «Save and continue».
На следующем этапе установки надо будет указать e-mail сайта (с которого будут рассылаться автоматические письма, всякие уведомления или напоминания пароля, первоначально можно написать любой адрес). Также необходимо указать регистрационные данные первого пользователя (логин, пароль, e-mail). Напомню, в Drupal'e первый пользователь является администратором и обладает неограниченными правами. Далее выставляем часовой пояс и разрешаем или запрещаем автоматическую проверку обновлений (по умолчанию разрешено). В пункте «Clean URLs» можете выбрать между «Disabled» и «Enabled», по умолчанию поддержка чистых ссылок включена.
На этом этапе установки Drupal уже внес все необходимые изменения в файл settings.php и папку default, поэтому в целях безопасности возвращаем им изначальные права (конечно, для тестов вопросы безопасности не так важны, но привычку делать все правильно надо вырабатывать изначально).
chmod 644 /home/username/sites/drupal1.my/public/sites/default/settings.php
chmod 755 /home/username/sites/drupal1.my/public/sites/default
После смены прав возвращаемся к Drupal и кликаем «Save and continue».
Скорее всего появится ошибка
Unable to send e-mail. Please contact the site administrator if the problem persists.
но у нас не стоит задачи поднять почтовый сервер, поэтому кликаем на «you new site».

Drupal работает, что подтверждает правильность установки и настройки LAMP.
- 50 комментариев
Всего у меня на компьютере два винчестера, 160ГБ и 120ГБ. На первом стоит Windows XP и все остальное ПО, второй использовался для хранения всей нужной и не очень информации.
Изначально при установке Linux'а перенес все со второго винчестера на первый и установил Ubuntu, отдав под нее весь диск не особо вдаваясь в подробности. Хотя пункт «Указать разделы вручную (для опытных пользователей)» и выбрал в первую очередь, в итоге пришлось вернуться к «Использовать весь диск» и разрешить системе автоматически разметить винчестер. То ли встроенная в инсталлятор программа разметки диска глючила, то ли я что-то делал не так (что скорее всего), но переразметить диск под себя не получилось.
Ubuntu успешно установил, поюзал, после чего снес и стал ставить по новой. Ну не мог я смириться, что такая важная по сути операция, как разметка диска, была отдана автоматике. Ничего страшного, конечно, не произошло бы, но самолюбие было жестко ущемлено, как так, диск не смог разметить (хотя раньше размечал и не раз). Да и к этому времени успел основательно подтянуть теоретический уровень, так что в результате все сделал как хотел и без единой заминки.
Немного теории. Жесткий диск изначально содержит только один основной раздел. Всего же основных разделов может быть не больше четырех, т.е. разбить винчестер, используя только основные разделы, больше чем на четыре части не получится. Но один (и только один) основной раздел можно назначить расширенным, который в свою очередь можно разбить на неограниченное количество логических разделов. Причем сам расширенный раздел является только неким «контейнером» для логических, поэтому должен содержать как минимум один логический раздел, в противном случае область диска будет определяться как «неразмеченная».
Каждому разделу винчестера, будь то основной или логический, в соответствие ставится UUID (Universally Unique Identifier) для его дальнейшей однозначной идентификации. Причем после форматирования одного из разделов, его UUID меняется (установил опытным путем).
В Линуксе отсутствует привычное с Windows буквенное название винчестеров (C:\, D:\ и т. д.), вместо этого используется немного другой подход.
Винчестеры в системе будут видны под названиями sd*, где * - это буква a-z, в зависимости от количества жестких дисков. Если их у нас в системе два, то называться они будут sda и sdb, если три, то sda, sdb и sdc.
Как уже говорилось выше, каждый винчестер должен иметь как минимум один основной раздел, при желании максимум четыре, один из которых можно назначить расширенным и создать в нем любое количество логических. Все эти разделы также имеют свое обозначение, состоящее из название самого винчестера и цифры, например sda1 или sdb5. Цифры идут по порядку, за исключением того, что цифры 1-4 зарезервированы под основные разделы (что и понятно, всего их может быть от одного до четырех), а нумерация логических начинается с 5.
Предположим, что мы разметили диск на два основных раздела, один из которых сделали расширенным и разбили на три логических. Тогда их названия будут такими (допустим, что сам винчестер называется sda): sda1 (первый основной), sda2 (второй основной, назначенный расширенным), sda5 (первый логический), sda6 (второй логический), sda7 (третий логический). Причем диск sda2 (расширенный) будет недоступен в системе, т. к. записать на него ничего нельзя, он является лишь контейнером для логических дисков.
Для разбивки жесткого диска решил воспользоваться утилитой GParted, она была доступна прямо с Live CD. По ощущениям, ничем не хуже Partition Magic, а в чем-то даже удобней.
Диск разметил следующим образом:

Разбил на два основных, первый выделил для хранения информации без привязки к ОС (поэтому и назначил файловую систему NTFS, прав доступа и прочих плюшек файловых систем Linux для просто данных мне не надо, а заставлять Windows видеть ext не хочется).
Второй основной отдал чисто под Linux, назначил расширенным и разбил на три логических. Раздел под своп сделал в 2 ГБ, много, конечно, еще ни разу больше 100МБ не использовалось, но сойдет. Тем более часто в мануалах советуют под своп выделять памяти не меньше объема оперативки (у меня 1,5ГБ).
Под сам Linux выделил 30ГБ. Остановился на файловой системе ext4. Выбрал ее, т.к. она по сути дефолтная для Linux'а. Потом еще почитал про нее немного теории и всяких тестов и еще раз убедился, что ext4 оптимальна, если нет каких-то специфичных требований, которые реализованы только в других ФС.
Каталог /home вынес на отдельный раздел, отдав под него все оставшееся место (получилось около 20ГБ). В принципе, оно понятно почему — держать свои собственные настройки и пользовательские файлы лучше отдельно, в случае перестановки системы ничего не потеряется.
На этом остановился, хотя можно было бы пойти и дальше, например, вынеся каталог /var на отдельный раздел (в /var хранятся постоянно меняющиеся файлы, поэтому если на винте и появляются битые сектора, то чаще всего именно там).
Ну и немного о трудностях, с которыми пришлось столкнуться. Как выше писал, один раздел отформатировал в NTFS и настроил автоматическое монтирование в каталог /media/data. Все работало идеально. Потом зашел в Windows проверить, виден ли этот раздел. Потестив, решил отформатировать. При следующей загрузке Linux стали выдаваться ошибки, по тексту которых можно было догадаться, что что-то не так с монтированием. Как в последствии выяснилось, для монтирования жестких дисков Linux использует UUID винчестеров, а при форматировании этот самый ID сменился на новый, поэтому пришлось изменить конфиги. После правки все заработало как надо. Команды использовал такие:
cat /etc/fstab
Просматриваем содержание файла fstab, в котором указаны точки монтирования.
ls -l /dev/disk/by-uuid
Смотрим текущие UUID-шники подключенных винчестеров. Если находим несоответствия с данными в файле fstab, то его надо поправить.
sudo gedit /etc/fstab
Открываем файл fstab в редакторе gedit с правами суперюзера, чтобы можно было сохранить результат, заменяем старый UUID на новый, который мы получили выполнив предыдущую команду, сохраняем изменения, перезагружаем компьютер. Ошибок монтирования при загрузке системы больше быть не должно.
Последние несколько лет было желание не то чтобы перейти, а просто хотя бы попробовать Linux, чисто ради интереса. Но руки все как-то не доходили, да и предпосылок не было — Windows XP устраивала более чем. Точнее, раньше устраивала, когда не было с чем сравнивать.
И вот недавно понадобилось поюзать Линукс, загрузился с Live CD без установки, поигрался немного и как-то сразу «подсел». Подкупила визуальная составляющая — по качеству и продуманности интерфейсов XP остается далеко позади. Это было для меня первым откровением, раньше я считал, что Linux это «навороченная командная строка», без которой абсолютно ничего нельзя сделать. Ошибался, все оказалось интуитивно понятным и достаточно красивым.
Дальше — больше. Наличие множества «фич», которые вроде как и не нужны были раньше, но воспользовавшись которыми единожды, уже не представляешь себя без них. Например, возможность использовать любое количество рабочих столов, переключаясь между ними одним кликом или горячими клавишами. Частенько приходится одновременно держать открытыми много разнообразных приложений, из-за чего постоянно возникала путаница с окнами — а здесь такое простое и элегантное решение. Или еще пример — сейчас у меня рядом с текущим временем на панели отображается температура с пиктограммой погоды. Мелочь? Мелочь, но приятно.
Это что касательно «визуального» восприятия, но логически продуманный подход в Линуксе проявляется во всем. Программы устанавливаются сугубо в определенное место, по необходимости занося информацию в системную папку пользователя. А если вспомнить Windows? Программа пишется в папку Program files, добавляет свои файлы в Document and settings, не гнушается что-то записать в windows и даже иногда сама создает какие-то директории в корне винчестера, плюс реестр, который если и пытаешься регулярно чистить, то вскоре оставляешь эту затею. А ведь может быть иначе. Может быть правильно. Как в Линуксе.
Для файла подкачки изначально при установке выделяется логический диск, который будет использоваться только и только для, собственно, файла подкачки. А в Windows файл подкачки размещается там, где есть свободное место. Конечно, можно самостоятельно выделить под эти нужны логический диск, но все равно это не то.
Отдельного внимания заслуживают так называемые «репозитории», архивы программ. В официальных репозиториях можно найти если не все, то практически все необходимые программы. И скачивать вы будете их не с варезников, а с официальных источников. Установка/удаление ПО занимает не больше минуты. Причем удаляется программа полностью, не оставляя после себя следов в «реестре», которого здесь, к слову, вообще нет как такового. Если какая-то версия ПО обновится — вы сразу же получите об этом уведомление, да и само обновление не займет много времени. Теперь не надо качать дистрибутив нужной программы, запускать инсталлятор, на автомате расставлять флажки и кликать «далее», потом удалять выкачанный уже ненужный дистрибутив и изредка проверять обновления, т.к. на уведомления чаще всего надеяться не приходится. В Линуксе все происходит само и именно так, как надо.
Все эти восторженные изливания связаны конечно же с тем, что на Linux я перешел совсем недавно (окончательно поставил только вчера), соответственно и впечатлений много. Но если подходить сугубо с практической точки зрения, то картина должна быть примерно такая: есть поставленные задачи, есть средства их решения (в данном случае ОСи), и выбор должен быть как минимум аргументирован (то, что Linux-ом пользуется 0.8% процента аудитории интернета по статистике LI, а значит его использование автоматически превращает пользователя в тру айтишника, не аргумент, да и вообще далеко от истины).
Итак, что же требуется для работы и прочего времяпрепровождения «сферическому вебмастеру в вакууме»?
-
Серфинг
Никаких проблем, Opera, FF, Chrome есть под Линукс. IE, думаю, мало кто использует, ну разве что кроме верстальщиков для тестов. -
Работа с сайтами/сервисами
Чаще всего это веб-интерфейс, поэтому проблем быть не должно. -
Работа с текстом
Не думаю, что многим уж так требуется весь функционал пакета Microsoft Office, OpenOffice чаще всего покроет все потребности. Проверка орфографии, кстати, тоже имеется. -
Музыка/фильмы/игры
Плееров великое множество на любой вкус, нужные кодеки ставятся без проблем. С играми, да, проблемы. Но я не считаю это минусом, т.к. последние несколько лет папка Games у меня отсутствует, убивать время можно более продуктивно, ИМХО. -
Работа с файлами, создание/копирование/удаление
Все аналогично работе в Windows. -
Специализированный софт
Чаще всего замену можно найти. Но не всегда. Тот же AllSubmitter работает только под виндой. Хотя, конечно, никакому профессиональному софту от того же Adobe аналогов найти не удастся. -
Дизайн, работа с графикой
Вот тут, конечно, без Photoshop-а не обойтись, достойной альтернативы ему нет, последние версии под Линуксом не идут, так что рисовать дизы придется только под виндой. Ну а для не слишком сложной работы с графикой идеально подходит Gimp. -
Верстка, программирование
Редакторов текста с подсветкой синтаксиса много. Всяких специализированных сред разработок тоже хватает. Единственный минус — я обычно верстаю и что-то правлю в дизайне одновременно, поэтому наличие открытого фотошопа с макетом чаще всего обязательно. Ну а для веб-программирования лучше Линукса вряд ли что-то может быть, на то он и LAMP. Денвер он для простеньких скриптиков, в основном чтобы «перекантоваться», для серьезного изучения и работы не подходит. Связку Апач+пхп+мускл на винде я поднимал, но как-то все глючило, а в итоге и сервер MySQL умер, переустанавливать Windows не хотелось, поэтому и пришел к Denwer-y.
Еще, конечно, из плюсов Линукса стоит выделить следующие:
- Безопасность. Можно смело забыть о вирусах.
-
Неубиваемая система. Если ядро не трогать, то что-то поломать проблематично, поэтому постоянно ставить систему по новой, «чтобы быстрее работало и меньше глючило», совершенно не надо.
-
Наличие большого количества качественной документации, в том числе и на русском.
-
А, да. Забыл. Линукс ведь бесплатный. И софт, в большинстве своем, тоже. Поэтому все качается с оф. источников и последнии версии, а не старье с варезников.
Из дистрибутивов Линукса остановился на Ubuntu 10.04, игрался с девяткой (пока десятая не вышла), ставил альфа версию 10.10 (но она частенько зависала). Почему именно Ubuntu? Не хотелось бы употреблять слово «попсовая», пусть будет популярная. Так вот — Ubuntu популярная. Ей пользуются большинство линуксоидов (судя по опросам), она удобна и понятна человеку, только что перешедшему с Windows, для нее много софта, документации и т.д. Т.е. так как у меня не было к дистрибутиву особых требований, то выбрал тот, с которым у меня будет меньше всего проблем. И считаю, что не прогадал. Пока все устраивает.
А вообще, конечно, Linux сложнее на порядок Windows. Даже если не брать в расчет тот факт, что приходится перестраиваться и что «разрывы шаблона» будут на первоначальном этапе на каждом шагу (нет диска C:\, нет exe-шников, четкое разграничение прав доступа...). По сути, чтобы работать в Windows, в самой Windows разбираться не надо, да и если очень захотеть, вряд ли получится, нормальной документации нет, все сводится в большинстве случаев к теоретическим рекомендациям «ткнуть туда, скачать ту софтинку, должно заработать». С Linux-ом же не получится работать, именно работать, а не юзать только для «вконтактика и фишек», без хорошего знание системы, в том числе и базовых основ (что, куда и зачем начиная с файловой системы). Но изучение лично мне доставляет сплошное удовольствие, это интересно, это полезно, это просто необходимо. А в купе с хорошей документацией и сообществом — не так уж и трудно.
И да, от Windows я не в коей мере не отказываюсь, да и не получится, слишком уж много софта идет только под нее. Но буду использовать ее только при необходимости использования этого самого софта, а ОСь по умолчанию теперь — Linux и только Linux. Чего и вам советую.
PS Пост получится местами ламерским. Но вот такое вот у меня впечатление от Линукса после многолетнего сидения исключительно под Windows.
PPS На блоге появилась рубрика «Linux», буду изредка в нее писать. Тема сама по себе достаточно обширная, и не на все вопросы можно найти исчерпывающий ответ в документации. Блоги и обсуждения на форумах в этом случае частенько выручают, почему бы и самому не поделиться мыслями/опытом. На то он и блог.
