如何运行privacyIDEA使用Apache2和MySQL在Ubuntu 14.04 LTS

如何使用Apache2和MySQL运行privacyIDEA在Ubuntu 14.04 LTS 我们使用最新的1.0dev0of privacyIDEA。它可以通过python包inde ...

如何在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
cd privacyidea
source bin/activate

注意:源bin / activate将进入python virtualenv。通过pip安装的所有python包将不会安装到您的主系统,而是/ srv / privacyidea。我们假设您下载了隐私权版本1.0dev0。 (或直接从pypi安装)

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/
mv /etc/privacyidea/privacyidea.ini.example /etc/privacyidea/privacyidea.ini

在/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
a2enmod headers
a2enmod auth_digest
a2enmod ssl
a2dissite 000-default

将示例apache配置复制到其位置:

cp etc/apache2/sites-available/privacyidea /etc/apache2/sites-available/

注意:对于Apache 2.4,需要将该文件重命名为privacyidea.conf

现在适应privaycyidea.conf:

WSGIScriptAlias / /etc/privacyidea/privacyideaapp.wsgi
WSGIPythonHome /srv/privacyideasi

注意:使用Apache 2.4,您需要将访问权限更改为“需要所有授权”,否则您将获得“AH01630:客户端被服务器配置拒绝”。

当我们要使用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”登录。