Добавление самостоятельной регистрации пользователями в ownCloud 6

Cloud computing
Sandbox
image image

Доброго времени суток, хабравчане!

В своей публикации хотел бы поделится с вами личным опытом добавления модуля для самостоятельной регистрации пользователями в облачный сервис. Про настройку LAMP и установку ownCloud описания не будет, поскольку инструкций и всевозможных статей на эту тему уже есть большое множество.

О настройке ownCloud я находил множество статей, и многие были с данного ресурса, но по вопросу: «как добавить возможность регистрации?» в рунете я нашел только один источник, который, на мой взгляд, показался не очень информативным и не достаточно полным. Исходя из этого и родилась идея для написании данного поста.

Начнем


Допустим, у нас есть веб-сервер с установленным ownCloud'ом на Debian Wheezy. Главным условием является, что сервис еще ни разу не запускался и не настраивался.

Теперь, идем по порядку:

1. Первым делом нам нужно скачать архив, в котором есть все необходимое:

wget http://flexible.xapient.net/wp-content/registration-final.zip

2. Распаковываем скачанный архив и копируем из него папку registration в директорию с облачным сервисом в папку core:

unzip registration-final
cp -R registration /var/www/owncloud/core/

Далее нужно так же из распакованного архива скопировать с заменой файлы:
  • db_structure.xml в основную папку облачного сервиса;
  • routes.php в папку core;
  • login.php в папку core/templates.

cp -f db_structure.xml /var/www/owncloud/
cp -f routes.php /var/www/owncloud/core/
cp -f login.php /var/www/owncloud/core/templates/

На этом все манипуляции с архивом закончились.

3. Запускаем в браузере ownCloud, регистрируем административную учетную запись, подключаем БД. После выходим из сервиса и видим на странице ввода логина и пароля снизу ссылку register. Но на этом настройка модуля не закончена.

4. Поскольку, чтобы пользователь получал письмо на свой e-mail с ссылкой для регистрации, нужно установить и настроить какой-нибудь МТA. Для этого я использовал postfix в качестве relay, чтобы он отсылал письма с моей gmail'овской почты.

Устанавливаем postfix и mailutils:

apt-get install postfix mailutils

Открываем конфиг и дополняем его строчками:

nano /etc/postfix/main.cf

relayhost = [smtp.gmail.com]:587
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_sasl_security_options =

Открываем (создаем) файл sasl_passwd:

nano /etc/postfix/sasl_passwd

Добавляем туда строчку:

[smtp.gmail.com]:587 username:password

Далее делаем:

postmap /etc/postfix/sasl_passwd
cd /etc/postfix
chown postfix sasl_passwd*

И перезагружаем postfix:

/etc/init.d/postfix reload

Отправляем тестовое письмо для проверки работоспособности postfix'a:

echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com

Если письмо не пришло, смотрим логи на ошибки:

tail /var/log/mail.log

На этом настройка закончилась, осталось проверить работоспособность самой регистрации.

Снова открываем в браузере наш облачный сервис, нажимаем на register, пишем e-mail и проверяем почту, где мы должны увидеть письмо с ссылкой для дальнейшей регистрации.

После проделанной работы результатом будет — облачный сервис с возможностью самостоятельной регистрации пользователя.

UPD: Для всех желающих добавить регистрации в свежие версии ownCloud, можно воспользоваться данным модулем. Перейдя по ссылке, Вы найдете всю необходимую информацию для добавления. Из выше приведенной статьи останется настроить только postfix.
Tags:облакоowncloudрегистрация пользователей
Hubs: Cloud computing
+12
10.5k 99
Comments 3
DevOps Engineer
from 200,000 ₽HomeappМосква
Senior Backend Engineer
to 220,000 ₽Zenia-AIRemote job
Senior Python/Django Backend Developer
from 4,000 to 7,000 $Tapcentive Inc.Remote job
DevOps engineer
to 220,000 ₽Evrone.comRemote job
Senior Software Engineer (Golang)
from 3,000 €ExnessЛимассолRemote job

Top of the last 24 hours