如何在Ubuntu 14.04 LTS上使用Apache2和MySQL运行privacyIDEA
我们使用最新的1.0dev0of privacyIDEA 。 它可以通过python包索引或通过github 。
我们假设您已经安装了Apache2和MySQL数据库。 这个例子是在Ubuntu 14.04 LTS上完成的。
安装依赖关系
我们正在使用python virtualenv。 因此,安装将获得其依赖的python模块的所有正确版本。
我们还需要安装一些开发包:
apt-get install python-dev python-virtualenv libldap2-dev libsasl2-dev libmysqlclient-dev我们将安装privacyidea到/ srv / privacyidea:
cd /srv virtualenv privacyidea注意:源bin / activate将进入python virtualenv。通过pip安装的所有python包将不会安装到您的主系统,而是/ srv / privacyidea。我们假设您下载了隐私权版本1.0dev0。 (或直接从pypi安装)
cd privacyidea
source bin/activate
pip install privacyIDEA-1.0dev0.tar.gz这也将安装所有依赖项。有些包需要编译,这就是为什么我们在第一步安装开发包的原因。我们将使用MySQL作为数据库,我们需要安装python包:
pip install MySQL-python现在我们将创建数据库和数据库用户:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.5.35-1ubuntu1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database privacyidea;
Query OK, 1 row affected (0.00 sec)mysql> grant all privileges on privacyidea.* to "privacyidea"@"localhost" identified by "yourPassword";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> quit;
Bye
准备配置
创建配置目录:mkdir /etc/privacyidea添加用户,wsgi脚本将作为:
useradd -r privacyidea复制配置示例:
cp etc/privacyidea/* /etc/privacyidea/在/etc/privacyidea/privacyidea.ini中适应以下几行:
mv /etc/privacyidea/privacyidea.ini.example /etc/privacyidea/privacyidea.ini
sqlalchemy.url = mysql://privacyidea:yourPassword@localhost/privacyidea创建自己的加密密钥:
args = ('/var/log/privacyidea/privacyidea.log','a', 10000000, 4)
who.log_file = /var/log/privacyidea/privacyidea.log
privacyideaURL = https://yourServer
privacyideaURL.disable_SSL=True
privacyidea-create-enckey -f /etc/privacyidea/privacyidea.ini修复访问权限:
privacyidea-fix-access-rights -f /etc/privacyidea/privacyidea.ini -u privacyidea创建数据库:
paster setup-app /etc/privacyidea/privacyidea.ini
创建管理员用户
在第一步中,我们将使用密码文件/ etc / privacyidea / admin-users中的管理员用户。稍后,您可以在privacyidea.ini中定义包含管理员用户的领域。privacyidea-create-pwidresolver-user -u admin -i 1000 > /etc/privacyidea/admin-users如果您创建管理员用户“admin”,则可以以“admin @ admin”身份登录。
安装Apache
最后我们安装Apache,我们安装mod-wsgi并启用一堆模块:apt-get install libapache2-mod-wsgi将示例apache配置复制到其位置:
a2enmod headers
a2enmod auth_digest
a2enmod ssl
a2dissite 000-default
cp etc/apache2/sites-available/privacyidea /etc/apache2/sites-available/注意:对于Apache 2.4,需要将该文件重命名为privacyidea.conf
现在适应privaycyidea.conf:
WSGIScriptAlias / /etc/privacyidea/privacyideaapp.wsgi注意:使用Apache 2.4,您需要将访问权限更改为“需要所有授权”,否则您将获得“AH01630:客户端被服务器配置拒绝”。
WSGIPythonHome /srv/privacyideasi
当我们要使用SSL运行时,您需要创建自签名证书:
privacyidea-create-certificate -f /etc/apache2/sites-available/privacyidea.conf现在启用您的网站:
privacyidea-create-certificate -f /etc/apache2/sites-available/privacyidea
a2ensite privacyidea重新启动apache并使用您之前创建的管理员“admin @ admin”登录。