CentOs7 FreeSFAを構築するまでの手順

CentOs7 FreeSFAを構築するまでの手順

CentOs7に、OSSのSFAである「FreeSFA」を構築するまでの手順を記述してます。

環境

  • OS CentOS Linux release 7.9.2009 (Core)
  • Django 2.0.8
  • python 3.6
  • mysql 5.7.32

事前準備

mysqlを利用するで、インストールしておきます。

sudo yum install -y mysql-community-server
sudo yum install python-devel mysql-community-devel

文字コードを「utf8mb4」に設定しておきます。

vi /etc/my.cnf

<編集>
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character_set_server=utf8mb4
skip-character-set-client-handshake

起動します。

systemctl start mysqld

テーブルを作成しておきます。

# rootパスワード確認
cat /var/log/mysqld.log | grep root

# ログイン
mysql -u root -p

# rootパスワード設定
SET PASSWORD = PASSWORD('パスワード')

# sampleという名前でDBを作成
CREATE DATABASE sample CHARACTER SET utf8mb4;

python3.6でないと動かなかったので、python3.6環境をcondaで構築してます。以下に手順をまとめてます。

コード入手

gitで入手することが可能です。

git clone https://github.com/sikkimtemi/FreeSFA.git

プロジェクトに移動します。

cd FreeSFA

FreeSFA起動

ローカルで動かすのでこちらにある手順通り「IISE/local_settings.py」を作成して編集します。

cd IISE
touch ocal_settings.py

dbの接続情報などを編集します。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sample',
        'USER': 'root',
        'HOST': 'localhost',
        'PASSWORD': 'password',
        'PORT': '3306',
        'OPTIONS': {
            'charset': 'utf8mb4',
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        }
    }
}

外部PCのブラウザで確認するので、以下も編集しておきます。

ALLOWED_HOSTS = [
    '*',
]

準備ができたので、以下のコマンドを実行します。

# パッケージインストール
pip install -r requirements.txt

# migrate
python manage.py migrate

# ユーザー作成
python manage.py createsuperuser

# サーバー起動
python manage.py runserver 0.0.0.0:8000

ブラウザから http://プライベートIP:8000 にアクセスします。

以下の画面が表示されれば、さきほど作成したメールアドレスとパスワードでログイン可能です。