Общие вопросы .htaccess SSH FTP MySQL Почта PHP Perl Домены DNS CMS
Какие бывают серверы?
- Физический сервер — сервер который предоставляется полностью клиенту для работы без ограничений.
- Виртуальный (VPS) — сервер, "место" для которого выделяется на одном из физических серверов. На одном компьютере (сервере) может находится несколько виртуальных, таким образом физический сервер делит свои ресурсы на все запущеные виртуальные серверы.
Что такое «cервер»?
Сервер (англ. server от to serve — служить) — аппаратное обеспечение, выделенное и/или специализированное для выполнения на нем сервисного программного обеспечения и хранение информации.
Что такое SSH?
SSH протокол предоставляет наибольшую конфиденциальность по сравнению с другими известными протоколами.
Что такое FTP?
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер.
Регистрация и делегирование домена - в чем разница?
Делегирование является очень важным этапом регистрации домена, так как после того, как ваш домен будет проделегирован, он будет полностью работоспособным, и вы сможете увидеть его в интернете. Проще говоря, делегирование — это активация вашего зарегистрированного домена.
Что такое DNS?
DNS (англ. Domain Name System — система доменных имён) - доменная система имен предназначена для преобразования доменных имен в IP-адреса, либо наоборот - IP-адресов в доменные имена. DNS нужны для делегирования доменного имени.
Что такое IP-адрес?
Создание собственных страниц ошибок веб-сервера Apache
Очень часто встречаемся с такой ситуацией, что необходимо создать собственные страницы ошибок. Страницей ошибок (кодом ответа сервера) является трехзначный номер, который он посылает пользователю в ответ на запрос. Они говорят пользователю, является ли запрос корректным и может ли он завершен, а также требует ли сервер дополнительной информации. Как правило эти коды передаются в HTTP-заголовке, поэтому обычные пользователи их не видят. Самые распространенные коды ошибок сервера, это 400, 401, 403, 404 и 500, так что для установки собственных страниц ошибок для данных кодов необходимо разместить их в файл .htaccess.
Для того, что бы создать собственную страницу ошибок, необходимо создать файл 404.html, положить его в корень сайта (в папку public_html), в файле .htaccess прописать ErrorDocument 404 /404.html. Теперь при получении ошибки 404, сервер Apache будет посылать пользователю в ответ не стандартную страницу ошибок, а собственную, то есть ту кооторую вы расположили в файле 404.html. Подобным способом вы можете создать остальные страницы ошибок.
Для того, чтобы видеть страницы ошибок для следующих ответов сервера, необходимо создать их в домашнем каталоге и написать в .htaccess файле следующие строки:
ErrorDocument 400 /400.html
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
Активный и пассивный режимы FTP
Различают два режима соединения с FTP-сервером — активный (active) и пассивный (passive).
Пассивный режим предназначен для соединения через firewall. Если вы работаете с интернет через домашнюю локальную сеть или через локальную сеть предприятия, наверняка для защиты сети ваши администраторы используют какой-нибудь firewall. При работе по FTP через firewall вы можете получить ошибку вида «425 Can't build data connection: Connection refused» или похожую. Это означает, что нужно изменить настройки FTP-программы так, чтобы она принудительно использовала пассивный режим FTP для соединения с нашим сервером.
Установленные модули Apache
Список модулей для веб-сервера Apache, которые установлены на сервере:
- core_module
- mpm_prefork_module
- http_module
- so_module
- auth_basic_module
- auth_digest_module
- authn_file_module
- authn_alias_module
- authn_anon_module
- authn_dbm_module
- authn_default_module
- authz_host_module
- authz_user_module
- authz_owner_module
- authz_groupfile_module
- authz_dbm_module
- authz_default_module
- ldap_module
- authnz_ldap_module
- include_module
- log_config_module
- logio_module
- env_module
- ext_filter_module
- mime_magic_module
- expires_module
- deflate_module
- headers_module
- usertrack_module
- setenvif_module
- mime_module
- dav_module
- status_module
- autoindex_module
- info_module
- dav_fs_module
- vhost_alias_module
- negotiation_module
- dir_module
- actions_module
- speling_module
- userdir_module
- alias_module
- substitute_module
- rewrite_module
- proxy_module
- proxy_balancer_module
- proxy_ftp_module
- proxy_http_module
- proxy_ajp_module
- proxy_connect_module
- cache_module
- suexec_module
- disk_cache_module
- cgi_module
- version_module
- php5_module
- ssl_module
- ispmgr_module
Закрыть директорию паролем
Ограничить доступ к определенному каталогу на сервере можно путем использования .htaccess. Допустим, нам необходимо дать доступ к определенному каталогу отдельным посетителям, предоставив им при этом уникальный логин и пароль.
В каталоге, к которому хотим ограничить доступ по паролю, создаем файл .htaccess с такими директивами:
AuthType Basic AuthName "Some Name" AuthUserFile /var/www/user_name/data/.htpasswd require valid-user
Путь /var/www/user_name/data/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл.htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид/var/www/user_name/data/.htpasswd, где user_name — наименование вашей виртуальной площадки (например, hostcom).
В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями, который мы создадим чуть позже. Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере при помощи текстового редактора, обратите внимание на то, что .htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.
Создаем файл паролей. Файл с паролями должен содержать строки вида login:password. Пароль должен быть зашифрован с использованием алгоритма MD5. Один из способов создать такой файл — воспользоваться программой, входящей в поставку Apache — htpasswd (на нашем сервере она находится в каталоге /usr/bin/, полный путь — /usr/bin/htpasswd).
Рассмотрим как создать файл паролей в unix shell прямо на сервере. Зайдем в shell, и будем выполнять следующие команды:
-
htpasswd -mbc .htpasswd user_name1 FGj4GJKF
создаем новый файл .htpasswd, в который добавляем запись для пользователя user_name1 с паролем, указанным в командной строке. -
htpasswd .htpasswd user_name2
добавляем в уже существующий файл .htpasswd пользователя user_name2, а пароль вводим вручную в ответ на соответствующий запрос программы
Переопределить кодировку html-документов
Например, нам необходимо, что бы все html-документы, которые размещены на сервере, нужно «отдавать» клиенту в кодировке koi8-r, а не в windows-1251, как это сервер делает по умолчанию. Для этого поместим в .htaccess строку:
AddType "text/html; charset=koi8-r" .html .htm .shtml
Получив такой .htaccess, веб-сервер Apache станет выдавать клиентскому браузеру заголовок, в котором будет указано, что документ имеет кодировку koi8-r.
Если на вашем ресурсе существуют html-документы в разных кодировках, (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), то вам, возможно, будет необходимо отключить принудительную выдачу заголовка с кодировкой windows-1251. Для этого в .htaccess добавляется строка:
AddDefaultCharset Off
При этом соответствующая кодировка должна быть прописана на каждой html-странице в виде тега
Назначение и использование файла .htaccess
Файл .htaccess (в начале названия файла - точка) – это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Например, устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок.
Файл .htaccess может быть размещен в корневом каталоге веб-сервера (прямо в каталоге public_html) и в этом случае директивы из такого .htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера и тогда директивы, которые указаны в этом файле, "перекрывают" действие директив из "основного" файла, который размещен в каталоге public_html или в любом каталоге более высокого уровня. То есть, действие директив из .htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache.
Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действует на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess.
Изменения, вносимые в файлы .htaccess, вступают в силу немедленно и не требуют перезагрузки сервера, в отличие от изменений, вносимых в главный конфигурационный файл httpd.conf.
Переопределение индексного файла
Допустим, что пользователь обратился к каталогу www.имя_домена.ru/main/. Соответственно первым откроется и будет показан индексный файл по умолчанию.. Если вы хотите переопределить индексный файл и сделать так, чтобы первым открывался не index.php, а, например, файл main.php, то сделать это можно добавив в файл .htaccess в соответствующем каталоге следующую директиву:
DirectoryIndex main.php
Получив .htaccess с таким содержимым, веб-сервер Apache откроет по умолчанию именно файл main.php.
Индексный файл
Индексный файл либо его еще называют файл-индекс — это файл, который открывается по умолчанию при обращении пользователя через браузер к каталогу, а не к конкретному файлу. Например, ваш посетитель запросит адрес имя_домена/main/, где main — название каталога. Индексный файл это файл, который будет открыт при обращении к каталогу без указании имени конкретного файла в нем.
По умолчанию индексными файлами являются следующие: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm или default.html.
Веб-сервер Apache
Наша компания использует Apache httpd в качестве основного веб-сервера. Apache используется для организации большинства веб-серверов в мире и является самым массовым продуктом своего класса. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.
Запретить доступ к некоторым файлам
Иногда возникает необходимость запретить доступ к определенным файлам. Зачастую это конфигурационные файлы, которые содержат реквизиты доступа к базам данных, интерфейсам и т.п. Допустим, в файле config.cfg вы храните логин/пароль доступа к базе данных. Создаем в этой директории файл .htaccess с директивами:
Order allow,deny Deny from all
Теперь, если посетитель наберет в браузере www.ваш_домен.ru//config.cfg, он получит ошибку 403.
Запретить доступ с некоторых IP-адресов
В некоторых случаях необходимость запретить доступ к сайту или его части с некоторых IP-адресов.
В таком случае необходимо создать файл .htaccess в нужной директории с необходимыми директивами. Для того, чтобы запретить доступ с IP-адреса 162.45.45.45:
Order Allow,Deny Allow from All Deny from 162.45.45.45
Теперь при попытке обратиться к сайту с IP-адреса 162.45.45.45 посетитель получит ошибку 403.
Если указать часть адреса в виде 162.45.45 Вы ограничите доступ из подсети 162.45.45/24.
Запрет и разрешение выдачи листинга
Очень часто требуется выводить список файлов в каталоге (листинг каталога) в случае отсутствия в каталоге файла, который показывается по умолчанию. Для этого необходимо добавить в .htaccess ниже указанную строку:
Options +Indexes
Файл .htaccess необходимо создавать в том каталоге, в котором нужно разрешить листинг. В случае отсутствия индексной страницы вы получите HTTP ошибку 403.
Полезные команды Unix
Полезные команды Unix
- Команда cp — копирование файлов на сервере
- Команда mv — перемещение файлов на сервере
На наших серверах Вы можете использовать SSH как удобное средство для копирования или перемещения файлов. Для копирования используется команда cp, а для перемещения — mv. Команда cp имеет также ключ -r (полностью cp -r), который позволяет копировать не только файлы, но и подкаталоги с файлами.
Примеры:
- cp old/*.html new/ — копируем все файлы с расширением *.html из каталога old в каталог new
- cp -r old/* new/ — копируем все файлы и подкаталоги из каталога old в каталог new
- mv old/* new/ — перемещаем (копируем и удаляем на старом месте) все содержимое каталога old в каталог new
Команда ls — просмотр списка файлов на сервере
Команда ls используется для получения списка файлов, которые в данный момент размещены на Unix-сервере.
Примеры:
- ls — показывает список файлов в текущем каталоге
- ls -l — список файлов с подробностями (дата создания, размер,..)
- ls -l dir/ — получить список файлов и каталогов в подкаталоге dir с подробностями
Команда cd — перейти в другой каталог
Команда cd (полное название — chdir) используется для перехода из одного каталога на Unix-сервере в другой. Выполняя такой переход вы изменяете текущий каталог на новый
Примеры:
- cd — перейти в "домашний каталог" (куда вы попадаете сразу при заходе на сервер)
- cd .. — перейти в каталог на уровень выше
- cd /home/u12345/domain.ru/www/ — перейти в каталог /home/u12345/domain.ru/www/
Команда pwd — определить текущий каталог.
Команда pwd (без параметров) позволяет определить — в каком каталоге на Unix-сервере вы находитесь в данный момент. Показывает полный путь к тому каталогу, который является для вас текущим. Может использоваться, например, для определения полного пути к домашнему каталогу пользователя — это иногда требуется указывать в некоторых скриптах на perl и PHP.
Команда chmod — изменение режима доступа к файлам.
Иногда требуется вручную изменить режим доступа к файлам на диске Unix-сервера.Зачастую это нужно при размещении на сервере CGI-скриптов. Подробно о работе chmod и режимах доступа можно прочитать в документации по chmod. Мы же приведем примеры работы с chmod в условиях хостинга:
- chmod 755 script.pl — изменить режим доступа к файлу script.pl на 755 (это нужный для скриптов режим доступа);
- chmod -R 755 cgi-bin/*.pl — изменить режим доступа на 755 для всех файлов с расширением *.pl в каталоге cgi-bin и во всех его подкаталогах;
- chmod 000 www/file.html — изменить режим доступа к файлу file.html в каталоге www на 000. При таком режиме доступа его никто не сможет открыть. Так можно быстро запретить доступ через веб к какому-то файлу.
Команда rm — удаляет файлы или каталоги.
Команда rm используется для удаления файлов или директорий. По умолчанию директории не удаляются. Для того, чтобы удалить директорию вместе с содержимым, следует использовать ключ -r.
Примеры:
- rm index.php — удалить файл index.php (файл располагается в текущей директории);
- rm -r cache — удалить директорию cache;
- rm /home/u12345/domain.tld/www/index.php — удалить файл index.php (указан полный путь к файлу).
Основные команды текстовых редакторов
Основные команды текстовых редакторов
Приведем пример для редактора vim и для less. Файлы с помощью них открываются командами vim test.txt и less test.txt
Редактор VIM
- i — войти в режим редактирования;
- /test — найти в файле строку, содержащую слово «test»;
- Esc : wq Enter — выйти из файла, сохранив его;
- Esc : q! Enter — выйти из файла, не сохранив его.
Чтобы получить подробную помощь по редактору vim, выполните команду man vim в Unix shell (q — выход из справки).
LESS консольная программа в UNIX-подобных системах используемая для просмотра (но не изменения) содержимого текстовых файлов на экране
- /test — найти в файле строку, содержащую слово «test»;
- Shift+f — перейти в конец файла;
- Esc :q — выйти из файла.
Что необходимо знать о unix shell
Что необходимо знать о unix shell
SSH — это аббревиатура Secure SHell, удаленный доступ к командной оболочке наших Unix-серверов. Вы даете серверу команды в диалоговом режиме, а он исполняет их и показывает результаты, совершая при этом запрашиваемые вами действия.
В отличие от Windows-систем, в Unix важен регистр букв в названиях файлов и именах команд. То есть, файлы index.htm, index.HTM И INDEX.HTM — три разных файла. Команды ls и LS — тоже разные (второй не существует, в частности). Обратите на это особое внимание.
В описании путей к файлам на диске используется не символ '\' как в Windows, а '/' — символ 'прямой слэш' (forward slash). То есть, привычный путь Dir1\Dir2\file.html будет выглядеть в unix как Dir1/Dir2/file.html.
Лучше не называть файлы и каталоги по-русски. У вас могут возникнуть проблемы с использованием таких названий как через FTP и unix shell, так и через веб-доступ.
Обращаем особое внимание на то, что если вы не имеете достаточного опыта работы в unix shell, нужно стараться совершать все действия особенно осмысленно. Например, вы можете "случайно" стереть одной командой все содержимое домашнего каталога вашего сайта, что приведет к неработоспособности сайта. Скорее всего этого может и не произойти, но, тем не менее, старайтесь относиться к работе с удаленной unix-системой ответственно.
Параметры соединения и программное обеспечение
Параметры соединения и программное обеспечение
Для того, что бы установить соединение в терминальном режиме (unix shell) нужно скачать специальную программу-клиент, которая работает по протоколу SSH версии 2. Мы рекомендуем использовать программу putty. Вы конечно же можете использовать любое другое поддерживающее SSH2 программное обеспечение. Скачать последнюю версию программы putty можно здесь.
Подключение к виртуальной площадке
Подключение к виртуальной площадке
Запускаем программу putty и указываем хост (IP адрес сервера) для соединения по SSH-протоколу. В качестве хоста указываем 194.28.172.169. Порт для соединения — 22, протокол — SSH, версия протокола (возможно, понадобится) — 2 (два). Настройте putty по этой картинке и нажмите на кнопку Open:
Putty откроет соединение к SSH-серверу и задаст вам вопрос в новом окошке о том, принять и сохранить ли принятый с этого сервера ключ в списке постоянных ключей. Ответьте согласием (yes) на этот вопрос (без вариантов).
Далее вы увидите приглашение ввести логин. Используйте логин вида hostcom и пароль, который получили при регистрации доступа в unix shell. Пароль при вводе отображаться не будет. Если логин и пароль будут введены правильно, вы попадете в unix shell.
Как создать отдельный FTP аккаунт для поддоменов и других каталогов моего хостинга?
Отдельный ФТП аккант вы можете создать в панели управления ISP Manager, в разделе: Главное > FTP аккаунты. При создании ФТП аккаунта вам будет предоставлена возможность указать директорию в которую будет открыт доступ для данного аккаунта.
Режим передачи файлов
Различают два режима передачи файлов по протоколу FTP:
- Текстовый (ASCII) — режим для передачи текстовых файлов, html-документов, php-скриптов и так далее.
- Двоичный (бинарный, binary, bin) — режим для передачи картинок, исполняемых файлов, исполняемых cgi-скриптов и так далее.
Для обычного пользователя это скорее бесполезные сведения, но иногда они становятся очень актуальными. Например, в случае если вы загружаете на сервер картинку, где она оказывается испорченной и не показывается в браузере, хотя доступна через веб. Это случается когда файл с картинкой (jpg, gif, bmp, png,..), который является двоичным, передается на сервер не в двоичном, а в текстовом режиме. Как правило, это происходит из-за неправильной работы FTP-программы.
Текстовые файлы нельзя передавать в двоичном режиме, а двоичные файлы нельзя передавать в текстовом режиме. Вообще, FTP-программы по умолчанию должны сами определять, в каком режиме нужно передавать конкретные файлы. Однако, иногда они ошибаются и файлы загружаются неправильно. В этом случае придется настроить FTP-программу так, чтобы она правильно передавала нужные виды файлов.
В каких каталогах размещать файлы и скрипты
После соединении по FTP пользователь подключается на сервер и оказывается в домашнем каталоге его сайта. В котором можно будет увидеть ниже указанные папки:
- www — папка для размещения html-файлов, php-скриптов, картинок и всего прочего, что будет доступно на вашем сайте
- tmp — каталог для временных файлов.
- В каталоге www присутствует каталог под названием cgi-bin — это каталог для размещения скриптов (например, на языке perl). Данная папка будет доступна только в том случае, если ваш тариф предусматривает собственные cgi-скрипты пользователя. Через веб-доступ скрипты из этой папки будут доступны по адресу вида www.ваш_домен.ru/cgi-bin/имя_скрипта.
Настраиваем Total Commander
Для того, что бы начать работу с программой Total Commander, необходимо скачать её на свой локальны компьютер, установить и запустить. После того как вы запустите программу, необходимо нажмите комбинацию клавиш CTRL+F. В открывшемся окне нажмите «Добавить», в результате появится окно для создания новой учетной записи:
Поля необходимо заполнить следующим образом:
- Имя соединения: введите имя новой учетной записи. Это имя может быть любым — по вашему усмотрению (в нашем примере это hostcom)
- Сервер [:Порт]: указываете IP адрес сервера и через двоеточие порт
- Учетная запись: указываете имя пользователя ФТП (логин)
- Пароль: соответственный пароль к учетной записи ФТП
- Обязательно ставите галочку напротив пассивного режима
После этого нажимаете «ОК» и можете производить управления файлами вашего сайта.
Настраиваем Far Manager
Для того, что бы начать работу с программой Far Manager необходимо скачать её на свой локальны компьютер, установить и запустить. После того как вы запустите программу, выполняем ниже указанные действия:
- нажимаете Alt + F2, в новом окне отмечаем пункт «FTP»
- переводим (клавиша TAB) курсор на эту панель
- нажимаем Shift+F4 и создаем новое подключение
Далее необходимо ввести реквизиты для подключения по ФТП: Имя сервера (host), логин (user), пароль (password) и порт (port). По ниже предоставленным рисункам видно каким образом это можно сделать:
Нажимаем Enter, появляется ниже указанное окно в котором необходимо ввести имя логина и пароль пользователя ФТП:
После ввода логина и пароля вы производите вход на сервер и можете производить изменения с файлами вашего сайта.
Настраиваем File Zilla
Для того, что бы начать работу с программой File Zilla необходимо скачать её на свой локальны компьютер, установить и запустить. После того как вы запустите программу, необходимо ввести реквизиты для подключения по ФТП: Имя сервера (Хост), логин (Имя пользователя), пароль и порт. По ниже предоставленному рисунку видно каким образом это можно сделать:
После указания реквизитов для подключения нажимаете кнопку Быстрое соединение, после чего вы подключаетесь на сервер в домашний каталог вашего аккаунта и можете приступать к работой с файлами: загрузка файлов, удаление, переименование и т.д.