しろログ

日々巡り会ったものの感想・レビュー

「コントラスト」で考えるゲームデザイン・レベルデザイン

いろいろ応用できそうな考え方。

CentOS 7 nginx PHP7 MySQLなどメモ

毎度の個人的なメモ

■基本設定
SELINUX無効化

setenforce 0

vi /etc/selinux/config

SELINUX=disabled

ホスト名

vi /etc/hostname

ifconfigはなくなった

nicの確認など
ip a

■初回のyum関連
minimalでインストールした場合

yum update
LANG=C yum groups list
yum groups install base
yum groups install "Compatibility Libraries"
yum groups install "Development Tools"

■ネットワーク周り

nmcli device
nmcli device show eno1
nmcli con up eno1
nmcli con down eno1
IPアドレスを192.168.1.10、GWを192.168.1.1に変更
nmcli con mod eno1 ipv4.addresses "192.168.1.10/24 192.168.1.1"

DNSサーバを192.168.1.11、192.168.1.12に変更
nmcli con mod eno1 ipv4.dns "192.168.1.11 192.168.1.12"

自動起動
nmcli con mod eno1 connection.autoconnect "yes"

systemctl restart NetworkManager

■iptablesはfirewallになった

現在の設定確認
firewall-cmd --list-service --zone=public

dhcpv6-clientを削除
firewall-cmd --remove-service=dhcpv6-client --zone=public --permanent

httpdなどを追加
firewall-cmd --add-service=http --zone=public --permanent

反映
firewall-cmd --reload

メジャーなものはここにある。無ければ追加
ls /usr/lib/firewalld/services/

■chkconfigはsystemctlになった

一覧
systemctl list-unit-files -t service

自動起動on
systemctl enable sshd.service

自動起動off
systemctl disable sshd.service

起動や停止、再起動など
systemctl restart sshd.service

■nginxとか
yumで済ませる

vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

yum install nginx
vi /etc/nginx/nginx.conf
vi /etc/nginx/conf.d/default.conf

起動
systemctl start nginx.service
systemctl enable nginx.service

PHP
yumで済ませる

yum install epel-release
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install --enablerepo=remi,remi-php70 \
php \
php-devel \
php-mysqli \
php-pdo \
php-openssl \
php-mbstring \
php-opcache \
php-fpm \
php-intl

php-fpm

vi /etc/php-fpm.d/www.conf

user = nginx
group = nginx

systemctl start php-fpm.service
systemctl enable php-fpm.service

MySQL
yumのrepoをDLしてyumで済ませる

yum remove mariadb-libs
yum localinstall mysql57-community-release-el7-8.noarch.rpm 
yum install mysql-community-server

起動
systemctl start mysqld.service

初期パスワード表示
grep 'temporary password' /var/log/mysqld.log

初期パスワードでログイン後、パス変更
(デフォルトでは大文字、小文字、数字、記号が1つ以上、かつ8文字以上の必要がある)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; 

CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'password'; 
GRANT ALL ON *.* TO 'root'@'127.0.0.1';

■覚書
apache2.4系をsystemctlで使うには、mod_systemdをロードする必要があるらしい。

開発用サーバーの証明書

いわゆるオレオレ証明書の作り方メモ

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

apacheの場合、作成したserver.crtと、server.keyをこんな感じで設定。

SSLCertificateFile /etc/cert/server.crt
SSLCertificateKeyFile /etc/cert/server.key

参考
Nginxにオレオレ証明書を設定する

余談
こんな感じで、割と簡単なんですけど、iOSアプリのATS対応のためにはオレオレだと結局引っかかってしまうので、debugビルドの時はATSを無効にするような切り分けとかしたほうが楽っていう・・

Plistを操作するPlistBuddyでiOS9のApp Transport Securityの煩わしさから開放される

Let’s EncryptでSSL

Appleが2017年の1月から全てのアプリでATSを必須にするっぽい、ということで今更ながらSSL対応することに。
以前から目をつけていた、Let’s Encryptを使ってみようということで、そのメモです。

Let’s EncryptはInternet Security Research Group (ISRG) が提供している無料の認証局です。

すでに独自ドメインにてwebサーバーが稼働しているサーバー(CentOS6+apache2.2)を対象に一気にSSL化します。

cd /usr/local/
git clone https://github.com/certbot/certbot

cd certbot/
./certbot-auto

./certbot-auto certonly --webroot \
-w /path/to/www \
-d example.com \
-m info@example.com \
--agree-tos

これで
/etc/letsencrypt/
以下に必要なファイルができるので、httpd.confに

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

などと加えて完了。後は、
・ファイヤウォール等で443を開けてやる
・apacheにmod_ssl等が無ければ加える
・httpd.confで443をLISTENする
あたりを忘れずに。

あと、証明書の有効期限が90日程度なので、定期的に更新する必要があるようです。

更新のテスト

/usr/local/certbot/certbot-auto renew --force-renew --dry-run

crontabに登録

crontab -e

00 05 01 * * /usr/local/certbot/certbot-auto renew --force-renew && /etc/init.d/httpd2 restart

割と簡単♪

安全性のチェックなど
SSL Server Test – QUALYS SSL LABS

メジャーなHTTPサーバー向けに最適なSSL configを生成してくれる
Mozilla SSL Configuration Generator

参考
Let’s Encrypt サーバー証明書の取得と自動更新設定メモ – あぱーブログ
Let’s Encrypt で手軽に HTTPS サーバを設定する – Qiita
Let’s Encrypt の使い方
Webに接続するiOSアプリは2017年1月からHTTPSの使用が絶対条件になる、デベロッパーはご注意を = TechCrunch

目標達成タイマー – 勉強管理アプリ

アラーム & タイマーを応用して、毎日の勉強やトレーニングの時間管理のためのアプリ、目標達成タイマーをiOS向けにリリースしました。

科目と目標時間を登録し、タイマーを稼働させることで時間を記録できます。
同じ科目で「普段用」「試験用」等、複数のタイマーを保存しておいたり、逆に科目を設定しない汎用的なタイマーを保存しておくことができます。

一つのタイマーに予鈴を50個まで設定できるので、工夫次第でポモドーロタイマー的な使い方もできるかと思います。

iOS – App Store

« Older posts

© 2016 しろログ

Theme by Anders NorenUp ↑