Доброго времени суток, читатели!
В своей публикации хотел бы поделится с вами личным опытом добавления модуля для самостоятельной регистрации пользователями в облачный сервис. Про настройку 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 и проверяем почту, где мы должны увидеть письмо с ссылкой для дальнейшей регистрации.
После проделанной работы результатом будет — облачный сервис с возможностью самостоятельной регистрации пользователя.
Автор: AlexGig