SFAとは
Sales Force Automation 営業支援ツール。
いくつか、酒類がありますが、今回は、オープンソースのFreeSFAを
インストールしたいと思います
pythonのインストール
FreeSFAは、PythonとDjangoで動いていますので
そちらをインストールします
データベースの構築
FreeSFAは、PostgreSQLやMySQLなどに対応していますが
今回はMySQLを入れます
また、データベースの文字コードもそろえておきましょう
準備ができると、空のデータベースを作ります
#mysql -u root
mysql>CREATE DATABASE freesfa CHARACTER SET utf8mb4;
mysql>CREATE USER 'freesfa'@'localhost' IDENTIFIED BY 'freesfa';
FreeSFA用のユーザを作成
FreeSFA用のユーザを作ります
# addusr freesfa
FreeSFA本体を取得
#cd /home/freesfa
#git clone https://github.com/sikkimtemi/FreeSFA.git
#cd FreeSFA
#cd IISE
#vi local_sttings.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))SECRET_KEY = '6jn1ssy-4-0(he(8w((l*53f2gjuzgo$u134zoj73*ebgq+!j%'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'freesfa',
'USER': 'freesfa',
'HOST': 'localhost',
'PASSWORD': 'freesfa',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
}
}
}DEBUG = True
ALLOWED_HOSTS = [
'*',
]# SOCIAL AUTH
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ''
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ''
#SOCIAL_AUTH_TWITTER_KEY = ''
#SOCIAL_AUTH_TWITTER_SECRET = ''
#SOCIAL_AUTH_GITHUB_KEY = ''
#SOCIAL_AUTH_GITHUB_SECRET = ''# reCAPTCHA
GOOGLE_RECAPTCHA_SITE_KEY = ''
GOOGLE_RECAPTCHA_SECRET_KEY = ''# Mail server
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'myuser'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_USE_SSL = True
起動させる
#cd FreeSFA
パッケージのインストール
#pip install -r requirements.txt
私の環境では、ikp3db のバージョン的に合わないらしい
ikp3db は、python3.6が必要で、私のpipが3.7以上が必要で合わなかった
#vi requirements.txt
の
ikp3db==1.4.1
に変更
psycopg2 でもエラーが・・
# Error: pg_config executable not found.
これは、pg (PostgreSQL)が無かったみたい
#dnf install postgresql-devel
こちらも必要ですね
#dnf install gcc python38-devel python38-psycopg2 postgresql-contrib
また、下記のようなバージョンが出る場合
psycopg/psycopgmodule.c: In function ‘psyco_is_main_interp’:
psycopg/psycopgmodule.c:689:18: error: dereferencing pointer to incomplete type ‘PyInterpreterState’
バグのようで、バージョン更新されているようです
psycopg2==2.8.5
psycopg2-binary==2.8.4
といったように、バージョンの修正
DBの作成
#python manage.py migrate
こんどは、このエラー
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
もう、ほんと、かんべんしてほしいよ・・・
#pip install pymysql
そして、IISE フォルダ上の __init__.py に下記を加える
#cd IISE
#vi __init__.py
import pymysql
pymysql.install_as_MySQLdb()
これで、DB作成ができる。再度実行
#python manage.py migrate
ユーザの作成
#python manage.py createsuperuser
Email address: *******
Password: *******
Password (again): ******
Superuser created successfully.
ここまで出来たらあと1歩?
#python manage.py runserver サーバIP:8000
ん・・・ここでも、ログインすると
TypeError: not enough arguments for format string
これは、依存する defusedxml が、0.5.0 だと、python3.6 までだそう
defusedxml==0.7.1
バージョンを変更してパッケージを入れ直し
#pip install -r requirements.txt
さて、