読者です 読者をやめる 読者になる 読者になる

さくらVPSにオレオレ証明書を設定する方法

前準備

インストール
yum install openssl *opensslのコマンド使うため
yum install mod_ssl *ssl使用するため

鍵の作成

秘密鍵の作成
openssl genrsa -aes128 1024 > /etc/httpd/conf/server.key
Generating RSA private key, 1024 bit long modulus
......++++++
..++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

openssl rsa -text < /etc/httpd/conf/server.key

公開鍵の作成
openssl req -new -key /etc/httpd/conf/server.key > /etc/httpd/conf/server.csr
証明書の作成
openssl x509 -in /etc/httpd/conf/server.csr -days 36500 -req -signkey /etc/httpd/conf/server.key > /etc/httpd/conf/server.crt
mv /etc/httpd/conf/server.key /etc/httpd/conf/server.key.bak
openssl rsa -in /etc/httpd/conf/server.key.bak > /etc/httpd/conf/server.key

サーバの設定

sslのサーバ設定
vi /etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>以下に
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
iptablesの設定
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
httpd再起動
service httpd restart

さくらVPSにsambaを構築する方法

1.インストール

1-1.インストール

yum -y install samba

2.sambaの設定

2-1.共有フォルダの作成

mkdir /home/share
chmod 777 /home/share

2-2.sambaの設定ファイル

vi /etc/samba/smb.conf

*[global]の設定
文字コードの設定
unix charset=UTF-8
 dos charset=CP932

workgroup=WORKGROUP

hosts allow=ALLじゃなくてもいける。会社だとALLなのかな

security=share

*[share]の設定
[Share]
 path=/home/share
 writable=yes
 guest ok=yes
 guest only=yes
 create mode=0777
 directory mode=0777
 share modes=yes

3.sambaの起動

3-1.sambaの起動

/etc/rc.d/init.d/smb start
/etc/rc.d/init.d/nmb start

3-2.チェックコンフィグへの追加

chkconfig smb on
chkconfig nmb on

4.Firewallの設定

4-1.Firewallの設定

フィルタリングで遮断すべきポート番号(その2) TCP/IP入門

これを追加した。いる!理由は後で確認

  • A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
  • A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
  • A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
  • A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

さくらのVPSにSVNを構築する 15分で

Ranorexを使用するのにSVNでもプロジェクト管理をしたくて導入。
Renorexについてはこちら

SVN構築するために、さくらのレンタルサーバ借りて作業していたのだが、
そもそもapache入れる段階で躓いたので記録しておく。Firewallの設定が悪かったのが原因。
*実際に測定したら15分で導入出来た!

SVN構築までの流れ

1.Apacheのインストール
2.SVNのインストール
3.SVNのレポジトリの作成
4.SVNApacheと連携させる
※1.Apacheのインストールは、4までに出来ていれば良い。

1Apacheのインストール

1-1.Apacheのインストール
yum -y install httpd
1-2.サービスの起動
service httpd start
1-3.自動起動の設定
chkconfig httpd on
1-4.Firefallの設定
cd /etc/sysconfig
vi iptables
#port80のINPUTを許可するように設定する。
-A INPUT -p tcp --dport 80   -j ACCEPT
1-5.Firewallの設定の再読込
service iptables restart
1-6.稼働確認

IPで接続して以下のページが出ればOK
f:id:kenta_everyday:20170218165930p:plain

2.SVNのインストール

2-1.SVNのインストール
yum install subversion
#SVNのversion確認
svn --version

3.SVNリポジトリの作成

3-1.リポジトリディレクトリ作成
mkdir -p /var/svn/ranorex
3-2.SVNリポジトリの作成
svnadmin create /var/svn/ranorex

4.SVNApacheと連携させる

4-1.mod_dav_svnのインストール
yum install mod_dav_svn
4-2.リポジトリApacheの権限を付与する。
chown -R apache:apache /var/svn/ranorex	
chmod -R u+rw /var/svn/ranorex
4-3.httpd.conf配下のsubversionの設定ファイルを編集
vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
    DAV svn
    SVNPath /var/svn/ranorex
</Location>
4-3.サービスの再起動
service httpd reload
4-4.ApacheでのSVN表示確認

http://xxx.xxx.xxx/location
4-3のsubversion.confの設定の場合だと
とされているので
http://xxx.xxx.xxx/svnでアクセスする。
成功すると以下ページが表示される。
f:id:kenta_everyday:20170218171114p:plain

4-5.認証その他設定

とりあえず今回は飛ばしました。重要なファイルないし。。

5.ブランチの作成

5-1.
mkdir -p /var/svn/ranorex/{trunk,branches,tags}

そもそもFirewallとは?

標準入力・標準出力について

標準入力、標準出力、標準エラー出力、パイプとは ?

サーバログについて

#過去のログイン記録を一覧表示するコマンド
who /var/wtmp

raspberryで参考になったサイト一覧

設定編
ツール編

Fritzing Fritzing

エアコン操作編

Raspberry Pi 3 Model Bで赤外線受信センサーと赤外線 LEDでリモコン信号を送受信する方法 (ラズパイ3の LIRC機能を使って赤外線学習リモコン、赤外線リモコン送信で外部機器を制御をする方法)
Raspberry Piからブラウザ経由でエアコンを制御してみた - 下林明正のブログ
「実例で学ぶRaspberry Pi電子工作」補足情報: Raspberry Pi上のLIRCでエアコンを操作する

  1. 赤外線受信モジュール設定

akizukidenshi.com
1 3.3Vがインプット
6 0v
40

 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 1 | OUT  | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 1 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
  1. リモコンの信号受信

lircは止めておく。

sudo /etc/init.d/lirc stop
mode2 -d /dev/lirc0
mode2 -d /dev/lirc0 > aircon_on.txt
mode2 -d /dev/lirc0 > aircon_off.txt
  1. リモコンの信号整形
perl pulse_parse.pl mode2_aircon_off.txt > processed_aircon_off.txt
perl pulse_parse.pl mode2_aircon_off.txt > processed_aircon_off.txt

irrecのアウトプットに合わせて整形
lircd.conf作ってコピー
udo cp lircd.conf /etc/lirc

  1. リモコン送信回路設定

sudo /etc/init.d/lirc restart
pi@raspberrypi:~ $ sudo /etc/init.d/lirc restart
[ ok ] Restarting lirc (via systemctl): lirc.service.
pi@raspberrypi:~ $ irsend LIST "" ""
irsend: AC
pi@raspberrypi:~ $ rsend LIST AC ""

  • bash: rsend: コマンドが見つかりません

pi@raspberrypi:~ $ irsend LIST AC ""
irsend: 0000000000000001 on
irsend: 0000000000000002 off
pi@raspberrypi:~ $

irsend SEND_ONCE AC on
irsend SEND_ONCE AC off

  1. テスト

ドメイン導入後

ドメイン入れた後にtomcatが使えなくなった。。
正確には、8080のポートが使用できない。。。
/usr/local/tomcat/conf
のserver.xmlをかえたけどだめ。
なぞ。。

2016/10/10追記。
8081を別のアプリケーションで使用してたので8080ポートだけおかしくなったと誤認。。。
8081は

[root@XXXXX-XXXXXXXX init.d]# lsof -i:8081
COMMAND  PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
tnslsnr 1002 oracle   13u  IPv6     9745      0t0  TCP *:tproxy (LISTEN)
oracle  1092 oracle  118u  IPv6 17622663      0t0  TCP XXXXX-XXXXXXXX:tproxy->222.174.5.8:smile (CLOSE_WAIT)

単純にtomcat時のJREの設定パスが存在しないパスになっていたのが原因と判明。
まさにこれでした。
Apache Tomcat 8.0(Tomcat8)が起動しない場合::アラサーSEがゲーム音楽や本について語る

■そもそもtomcatのプロセスが存在しなかった。
[XXX@XXXXXXXXXXXXXXXX conf]# ps -ef | grep java
root     31511 31459  0 13:44 pts/0    00:00:00 grep java
[XXX@XXXXXXXXXXXXXXXX conf]# service tomcat stop
tomcat not running

■tomcatあげてみる
[XXX@XXXXXXXXXXXXXXXX conf]# service tomcat start
Starting tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
■あげたのにプロセス存在しない。。。
[XXX@XXXXXXXXXXXXXXXX conf]# ps -ef | grep java
root     31544 31459  0 13:45 pts/0    00:00:00 grep java

■JRE_HOMEにcdできない
[XXX@XXXXXXXXXXXXXXXX conf]# cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
-bash: cd: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64: そのようなファイルやディレクトリはありません
■1.7.0.55じゃなくて75だった。
[XXX@XXXXXXXXXXXXXXXX conf]# cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■/etc/profileにJRE_HOMEを切っていたので変更して読み込ませる。→違ったので、下確認
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
source /etc/profile

[XXX@XXXXXXXXXXXXXXXX etc]# echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■/etc/profile.d/tomcat.shを直すのが正しいっぽい
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■プロセス確認
[XXX@XXXXXXXXXXXXXXXX init.d]# ps -ef | grep java
root     31879     1  1 14:04 pts/0    00:00:09 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     31928 31459  0 14:14 pts/0    00:00:00 grep java

■再発防止策
tomcatをサーバ起動時に立ち上げるようにすること。
java_homeの設定を汎用化すること

[XXXX@XXXXXXXXXXX ~]# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off