Django
nginx
CentOS
centos7

自作ソシャゲ用テスト環境作成ログ その1

More than 1 year has passed since last update.

この記事は何?

ほぼ行き当たりばったりの気紛れにより、
ソシャゲとかそういうもののテスト環境じみたものを作ろう、と思い立ち。
お名前.comでドメインとレンタルサーバーを借りたので
作業ミスって取り返しつかなくなった時のために、コマンド残しとく記事がこちらです。
筆者の備忘録なので、高レベル技術者には検索妨害になるかもですが、見かけた人の参考になれば幸い。
なお、現在進行形で色々試行錯誤してる段階なので、途中で書き換えたりする可能性有り。

構造としてはこういうものにする予定
CentOS7+Nginx+wusgi+MariaDB+SQLite+Python(Django)

CentOS7のインストール時の特記事項

CentOS7.1をインストールします。
お名前.com使っている場合、専用ページ上の「OS再インストール」タブから下記設定でインストールします。
1.png

ディスクフォーマット

お名前.comのレンタルサーバーを使うと最初からCentOS6.5が入っているので、
CentOS7に乗り換える際はディスク全フォーマットかけて、容量確保します。
2.png

まず上図のようにインストールするディスクを選んで「完了」ボタンを押すと、
インストールオプションが出るので「領域を確保する」ボタンを押して、
ディスク領域の獲得にて「すべて削除」ボタンを実行すると全ディスクフォーマットができます。
3.png

4.png

ネットワーク設定

初期状態だと通信OFFになっているのでON切り替え必須。
なお、レンタルサーバー上だとDHCPでも固定IP出してくれるので、Staticで設定する必要はなさそうです。
VMWareの仮想環境とかで作る時はここらへんやらないと行けなかったので楽で良いですね……

5.png

こんな感じでIPとかの表示出てるとOKです。

最終確認

6.png

こういう表示になっていたら完了です。
設定完了になるので、インストール進めてください。
ROOT権限ユーザーのパスワード設定と、一般ユーザー設定はやっておくことをおすすめします。

インストール直後の作業

インストールが完了した時点で、IPアドレス入力でのTeraTerm接続が出来るはずです。
お名前.comの純正コンソールだと操作面倒くさいので、TeraTerm使うと便利です。
以下は全てROOTで実行します

ホスト名変更

ドメイン取得していない場合はスキップしても良い?かもしれません。

hostnamectl set-hostname (ホスト名)

これ設定すると、TeraTermからドメインでアクセスできます。

スリープ阻止

ほっとくとスリープしたりするので下記実行します。

cp /etc/systemd/logind.conf{,.bak}
vi /etc/systemd/logind.conf

最後尾に以下を追加します。
コメントアウトで存在してはいるので、そちらを書き換えても良いかもしれません。

logind.conf
HandleLidSwitch=ignore
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore

ファイル更新が完了したら下記で反映させます。

systemctl restart systemd-logind.service

sambaインストール

Windows等からエクスプローラーでファイルにアクセスする時に必須となります。

yum -y update
yum -y install samba samba-client samba-common
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf

設定ファイルを下記のように編集します。

smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos7
security = user
map to guest = bad user
dns proxy = no
#==========================================================
[Share]
path = /home/(一般ユーザー名)/
valid users = (一般ユーザー名)
browsable =yes
writable = yes
guest ok = no
read only = no

フォルダの権限周りを修正、リロードしてパスワード設定

chmod -R 0777 /home/(一般ユーザー名)/
chown -R nobody:nobody /home/(一般ユーザー名)/
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
chcon -t samba_share_t /home/(一般ユーザー名)/
smbpasswd -a (一般ユーザー名)

これでエクスプローラのフォルダ指定に「\(サーバーのIP)」と入力することでsambaにアクセスできます。
最後の smbpasswd で入力したパスワード入力が求められますので気をつけてください。

Pipインストール

yumだと一部インストールできないものがあるのでpip入れます。

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip

MariaDBのインストール

ユーザーデータとか保存するSQLに、MySQL派生のMariaDBを使用します。
何が違うの?という方はこちらが詳しいのでぜひ
https://www.ossnews.jp/oss_info/MariaDB

yum -y install mariadb-server mariadb-devel
yum -y install gcc gcc-c++ kernel-devel
yum -y install python-devel mysql-devel
pip install mysqlclient

systemctl start mariadb
systemctl enable mariadb
mysql -u root

MariaDBの操作が行えるようになるはずなので、
データベースの作成と操作用の一般アカウントを設定します。

CREATE DATABASE appdb CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON appdb.* TO (一般ユーザー名)@localhost IDENTIFIED BY '(パスワード)';
EXIT;

通常のコンソールに戻ったら下記を入力します。
-pとパスワードの間にはスペースを入れないでください。

mysql -u (一般ユーザー名) -p(パスワード)

これで問題なくMariaDBのコンソールに入ることができればOKです。

Nginxその他のインストール

設定周りは次回の記事に回すので、
今回はインストールだけで済ませておきます。

yum -y install nginx
pip install uwsgi
pip install django