さくらVPSにWebDAVを入れる(Windows 8から使うよ)15分で

webdavでsslでベーシック認証するための設定

WebDAVインストー

WebDaAVがインストールされているか確認する。
httpd -M | grep dav
 dav_module (shared)
 dav_fs_module (shared)
Syntax OK
ディレクトリ作成

こいつのせいでドハマリ。本には仮で/var/www/webdavとあるけど、document rootは/var/www/htmlなので
それに合わせる必要がある(はず

mkdir /var/www/html/webdav
chown apache.apache /var/www/html/webdav
htpasswdの作成
*引数はログインする際のユーザ
htpasswd -c /etc/httpd/conf/htpasswd root
New password:
Re-type new password:
Adding password for user root
httpd.confの設定
vi /etc/httpd/conf/httpd.conf
#WebDAV
Alias /webdav "/var/www/html/webdav"

<Directory /var/www/html/webdav>
    Dav On
    SSLRequireSSL
    AuthType        Basic
    AuthName        "Login"
    AuthUserFile    "/etc/httpd/conf/htpasswd"
    Require valid-user
    Order deny,allow
    Deny from all
    Allow from 124.155.55.202
</Directory>

さくらVPSにオレオレ証明書を設定する方法 - PerlのちJavaときどき証券

httpd再起動
service httpd restart
証明書を自分の端末にインストー

これがないと、クライアントからアクセスしても出来ない。

証明書をインストールしたいけど、そのボタンが表示されないときの
ツール>インターネットオプション>セキュリティ
信頼済みサイトを選択して追加する。
その後、ブラウザのアドレスバーの「証明書のエラー」から証明書をインストールする。

apacheについて参考になるサイト一覧

今までapacheについては体系的学んだことはなかった。
以下書籍が学習するには最適であった。
・OSごとのインストール方法が記載されている。
・conf系のファイルについて記載されている。
・logについて記載されている。

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)


httpd.confの場所について

centos /etc/httpd/conf/

logについて

cgiについて

ScriptAliasに稼働場所が記載されている
AddHandlerでどの拡張子で稼働できるか決めている。
AddHandler cgi-script .cgi .pl

Raspberry piでcgiを動かす

raspberry piでエアコンを外出先からcgi経由で操作したかったのでトライ。
Ubuntuだとapacheの設定って色々違うんですね。。

以下サイトを参考にしました。
Ubuntu ServerでCGIプログラムを動作させる - サーバーでもUbuntuを使っています
Ubuntu上のApacheでCGIを実行できるようにするメモ | 青竹雑記帖(新)

Apatchの設定ファイル

Apatchの設定ファイルは、OSとインストール方法によって分かれる。

Ubuntuだと
/etc/apache2/apache2.conf

Ubuntucgiの設定

ドキュメントディレクトリーの「/var/www」
設定ファイル格納用ディレクトリーの「/etc/apache2」
CGIプログラム格納用ディレクトリーの「/usr/lib/cgi-bin」



 CGIプログラムを動作させるには、
cgidのモジュールを読み込む設定(cgid.load)
ソケットの定義(cgid.conf)
「/usr/lib/cgi-bin」ディレクトリーに格納したCGIプログラムを実行可能にする設定(serve-cgi-bin.conf)
が必要です。

後者のserve-cgi-bin.confは「/etc/apache2/conf-available」ディレクトリー内に存在し、
「/etc/apache2/conf-enabled」ディレクトリーにリンクが作成されているので、有効になっています。
しかし、前者の2つのファイルは「/etc/apache2/mods-available」ディレクトリー内に存在しますが、
「/etc/apache2/mods-enabled/」ディレクトリー内にリンクがないので有効になっていません。次のコマンドで有効にします。

CGI起動

sudo a2enmod cgid

さくらの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とは?