VPS — различия между версиями

Материал из Школьный портал: справочника
Перейти к: навигация, поиск
(Новая страница: «На данной странице описаны известные особенности установки портала на VPS. Причины возник...»)
 
(Решение номер 2: фаерволл)
 
(не показано 8 промежуточных версии этого же участника)
Строка 1: Строка 1:
На данной странице описаны известные особенности установки портала на VPS.
+
На данной странице описаны известные особенности установки и использования портала на VPS.
  
 
Причины возникновения этих особенностей связаны с тем, что на VPS устанавливаются ОС, отличающиеся от тех, что ставятся из официальных образов на обычные машины в сторону минимизации предустановленного ПО и настроек.
 
Причины возникновения этих особенностей связаны с тем, что на VPS устанавливаются ОС, отличающиеся от тех, что ставятся из официальных образов на обычные машины в сторону минимизации предустановленного ПО и настроек.
Строка 19: Строка 19:
 
</source>
 
</source>
  
== В ubuntu 10.04 не ставится Firebird ==
+
== В Ubuntu 10.04 не ставится Firebird ==
  
 
Сообщение apt-get о невозможности найти источник, из которого можно было бы поставить пакет с таким именем.
 
Сообщение apt-get о невозможности найти источник, из которого можно было бы поставить пакет с таким именем.
Строка 33: Строка 33:
 
apt-get update
 
apt-get update
 
</source>
 
</source>
 +
 +
== Ограничение доступа к БД в Ubuntu 10.04 ==
 +
 +
Проблема: пароль, использовавшийся при установке недопустимо оставлять как есть на сервере, если планируется использовать [http://spcms.ru/download#abook Алфавитную книгу] с любого адреса.
 +
 +
=== Решение номер 1: смена пароля ===
 +
 +
Выполните команду:
 +
 +
<source lang="bash">
 +
dpkg-reconfigure firebird2.1-super
 +
</source>
 +
 +
Затем отредактируйте файл <code>/var/www/cgi-bin/sp/sp.conf</code>, замените в нём старый пароль на новый (параметры <code>db_pass</code> и <code>cmsdbpasswd</code>).
 +
 +
Выполните команду:
 +
 +
<source lang="bash">
 +
pkill speedy_backend
 +
</source>
 +
 +
Готово.
 +
 +
=== Решение номер 2: фаерволл ===
 +
 +
Ограничьте доступ к БД Firebird (порт TCP/3050) только с доверенных IP. Обязательно оставьте доступ с адреса 127.0.0.1, чтобы сам портал на сервере имел возможность работать с БД.
 +
 +
Пример:
 +
 +
<pre>
 +
# можно нескольким IP, нельзя остальным
 +
iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 3050 -j DROP
 +
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 3050 -j ACCEPT
 +
iptables -I INPUT -p tcp -s 10.0.0.2  --dport 3050 -j ACCEPT
 +
iptables -I INPUT -p tcp -s 10.0.0.1  --dport 3050 -j ACCEPT
 +
</pre>
 +
 +
Не забудьте о других сервисах, настройте их собственными средствами для ограничения доступа по интерфейсам/IP, либо прикройте на фаерволле. Например, samba, squid, почта, dnsmasq и т.д.
 +
 +
=== Решение номер 3: xinetd ===
 +
 +
Если установлен Firebird Classic, ограничить доступ можно с помощью изменения файла xinetd:
 +
<pre>/etc/xinetd.d/firebird</pre>
 +
 +
Добавить /отредактировать параметр: only_from. Пример:
 +
<pre>only_from = 127.0.0.1 10.0.0.2</pre>
 +
 +
Даёт доступ к базе только серверу,
 +
а также компьютеу с адресом 10.0.0.2
 +
 +
Пояснение к примеру:
 +
127.0.0.1 нужен для обращения портала к базе,
 +
10.0.0.2 — IP-адрес компьютера, на котором установлена Алфавитная книга.
 +
 +
Если опции only_from нет — это неограниченный доступ.
 +
 +
После изменения файла выполните команду:
 +
 +
<pre>service xinetd restart</pre>
 +
 +
== Управление локальной сетью школы ==
 +
 +
=== Доступ в интернет ===
 +
 +
Портал может управлять доступом в интернет, задавая настройки прокси-сервера Squid.
 +
 +
Когда сервер находится в локальной сети вашей школы, это имеет смысл. Но если портал стоит на VPS (который является внешним сервером по отношению к локальной сети школы), использование прокси таким образом может стать затруднительным или вовсе неприемлемым решением.
 +
 +
В случае, если вы, выбрав VPS, отказываетесь от возможности управления доступом в интернет с помощью портала, прокси сервер на VPS можно погасить. На Ubuntu 10.24 это делается командами:
 +
 +
<source lang="bash">
 +
# остановка Squid
 +
/etc/init.d/squid3 stop
 +
 +
# отмена автозапуска Squid
 +
update-rc.d squid3 disable
 +
</source>
 +
 +
=== Учётные записи пользователей ===
 +
 +
Портал может автоматически создавать и модифицировать учётные записи пользователей вслед за ведением движения учащихся, заведением аккаунтов учителей и т. п. Эти учётные записи могут быть использованы для авторизации в локальной сети школы, для доступа к samba-ресурсам, к электронной почте в домене и т. д.
 +
 +
Аналогично вышеописанной особенности со Squid, использование этих функциий будет затруднено по следующим причинам:
 +
* доступ к удалённому серверу чреват задержками, существенно более высокими, чем доступ к серверу внутри локальной сети;
 +
* расход внешнего интернет-трафика (как вашего, так и на VPS, если он у вас не безлимитный) и на те вещи, которые внутри локальной сети были бы быстрыми и бесплатными;
 +
* нетривиальные настройки шлюза или клиентских машин.
 +
 +
Для отключения управления учётными записями домена в файле конфигурации <code>/var/www/cgi-bin/sp/sp.conf</code> должно быть:
 +
<pre>create_dc_users = 0</pre>
 +
Это значение стоит по умолчанию при установке портала.

Текущая версия на 09:18, 26 июня 2018

На данной странице описаны известные особенности установки и использования портала на VPS.

Причины возникновения этих особенностей связаны с тем, что на VPS устанавливаются ОС, отличающиеся от тех, что ставятся из официальных образов на обычные машины в сторону минимизации предустановленного ПО и настроек.

Сообщения вида: "locale: Cannot set LC_ALL to default locale: No such file or directory"

Причина: не определена локаль.

Исправление:

echo 'LANG="en_US.utf8"
LANGUAGE="en_US.utf8"
LC_ALL="en_US.utf8"' >> /etc/environment
 
locale-gen
 
# перелогиниться

В Ubuntu 10.04 не ставится Firebird

Сообщение apt-get о невозможности найти источник, из которого можно было бы поставить пакет с таким именем.

Причина: не подключен репозиторий universe.

Исправление:

echo 'deb http://ru.archive.ubuntu.com/ubuntu/ lucid universe
deb http://ru.archive.ubuntu.com/ubuntu/ lucid-updates universe' >> /etc/apt/sources.list
 
apt-get update

Ограничение доступа к БД в Ubuntu 10.04

Проблема: пароль, использовавшийся при установке недопустимо оставлять как есть на сервере, если планируется использовать Алфавитную книгу с любого адреса.

Решение номер 1: смена пароля

Выполните команду:

dpkg-reconfigure firebird2.1-super

Затем отредактируйте файл /var/www/cgi-bin/sp/sp.conf, замените в нём старый пароль на новый (параметры db_pass и cmsdbpasswd).

Выполните команду:

pkill speedy_backend

Готово.

Решение номер 2: фаерволл

Ограничьте доступ к БД Firebird (порт TCP/3050) только с доверенных IP. Обязательно оставьте доступ с адреса 127.0.0.1, чтобы сам портал на сервере имел возможность работать с БД.

Пример:

# можно нескольким IP, нельзя остальным
iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 3050 -j DROP
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 3050 -j ACCEPT
iptables -I INPUT -p tcp -s 10.0.0.2  --dport 3050 -j ACCEPT
iptables -I INPUT -p tcp -s 10.0.0.1  --dport 3050 -j ACCEPT

Не забудьте о других сервисах, настройте их собственными средствами для ограничения доступа по интерфейсам/IP, либо прикройте на фаерволле. Например, samba, squid, почта, dnsmasq и т.д.

Решение номер 3: xinetd

Если установлен Firebird Classic, ограничить доступ можно с помощью изменения файла xinetd:

/etc/xinetd.d/firebird

Добавить /отредактировать параметр: only_from. Пример:

only_from = 127.0.0.1 10.0.0.2

Даёт доступ к базе только серверу, а также компьютеу с адресом 10.0.0.2

Пояснение к примеру: 127.0.0.1 нужен для обращения портала к базе, 10.0.0.2 — IP-адрес компьютера, на котором установлена Алфавитная книга.

Если опции only_from нет — это неограниченный доступ.

После изменения файла выполните команду:

service xinetd restart

Управление локальной сетью школы

Доступ в интернет

Портал может управлять доступом в интернет, задавая настройки прокси-сервера Squid.

Когда сервер находится в локальной сети вашей школы, это имеет смысл. Но если портал стоит на VPS (который является внешним сервером по отношению к локальной сети школы), использование прокси таким образом может стать затруднительным или вовсе неприемлемым решением.

В случае, если вы, выбрав VPS, отказываетесь от возможности управления доступом в интернет с помощью портала, прокси сервер на VPS можно погасить. На Ubuntu 10.24 это делается командами:

# остановка Squid
/etc/init.d/squid3 stop
 
# отмена автозапуска Squid
update-rc.d squid3 disable

Учётные записи пользователей

Портал может автоматически создавать и модифицировать учётные записи пользователей вслед за ведением движения учащихся, заведением аккаунтов учителей и т. п. Эти учётные записи могут быть использованы для авторизации в локальной сети школы, для доступа к samba-ресурсам, к электронной почте в домене и т. д.

Аналогично вышеописанной особенности со Squid, использование этих функциий будет затруднено по следующим причинам:

  • доступ к удалённому серверу чреват задержками, существенно более высокими, чем доступ к серверу внутри локальной сети;
  • расход внешнего интернет-трафика (как вашего, так и на VPS, если он у вас не безлимитный) и на те вещи, которые внутри локальной сети были бы быстрыми и бесплатными;
  • нетривиальные настройки шлюза или клиентских машин.

Для отключения управления учётными записями домена в файле конфигурации /var/www/cgi-bin/sp/sp.conf должно быть:

create_dc_users = 0

Это значение стоит по умолчанию при установке портала.