GitLabのリソース移行

GitLabを別サーバに立てたので、リソースだけを移行します。

(1)バックアップを作成し、新サーバにバックアップファイルを転送

cd /var/opt/gitlab
gitlab-rake gitlab:backup:create SKIP=uploads,builds,artifacts,lfs,pages
scp /backup/gitlab/1529307859_2018_06_18_10.8.4_gitlab_backup.tar new_ore@ore.lsv.jp:~/

(2)新サーバでバックアップファイルをリストア

mv /home/tshk_yasuda/1529307859_2018_06_18_10.8.4_gitlab_backup.tar /backup/gitlab/
gitlab-rake gitlab:backup:restore SKIP=uploads,builds,artifacts,lfs,pages BACKUP=1529308908_2018_06_18_10.8.4

ちなみに、バックアップ時に利用していないものをSKIPしておかないと
Restoring pages …
tar: .: mkdir 不能: そのようなファイルやディレクトリはありません
tar: 前のエラーにより失敗ステータスで終了します
みたいなエラーがでてリストアできないので注意が必要です。

CentOS6.xにGitLabをインストールしてみた

外部でソースのやり取りをする必要があったので、さくらのVPS(CentOS6)にGitLabをインストールしてみた。

(1)まずは必要なアプリケーションの導入


yum install -y curl openssh-server openssh-clients postfix cronie

(2)GitLabのインストール


curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce

(3)GitLabの初期設定


vi /etc/gitlab/gitlab.rb

追加した設定は以下のもの

external_url 'http://ore.lsv.jp:81/git'
gitlab_rails['time_zone'] = 'Asia/Tokyo'
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/backup/gitlab"
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 604800
unicorn['worker_timeout'] = 600
unicorn['worker_processes'] = 1
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8088
nginx['listen_port'] = 81
nginx['listen_https'] = false
postgresql['shared_buffers'] = "128MB"
postgresql['work_mem'] = "8MB"
postgresql['effective_cache_size'] = "32MB"

(4)GitLabのビルド

gitlab-ctl reconfigure

・・・

Running handlers:
Running handlers complete
Chef Client finished, 424/603 resources updated in 03 minutes 41 seconds
gitlab Reconfigured

となったところで、完了です。

起動しているかステータスを確認するには、

gitlab-ctl status

とします。また、再起動する場合には、

gitlab-ctl restart

で再起動が可能です。

(5)GitLabへのログイン

external_urlで指定したurlにアクセスします。

初回ログインIDはrootです。パスワードは画面で新規登録します。

 

次回はGitLabにユーザやプロジェクト作成してみたいと思います。

SSHログインした時にメール通知する設定

# vi /etc/ssh/sshrc


echo "\"$USER\" has logged in from $SSH_CLIENT at `date`" | mail -s "ore.lsv.jp SSH LOGIN INFO" 通知先アドレス

# source /etc/ssh/sshrc

WordPressを守る設定その1

ワードプレスはとてもハッキングに弱いと聞いていますので、少しセキュリティ面を強化したいと思います。

[1] .htaccessの保護

.htaccessに不正アクセスされないように、.htaccessファイル自体をアクセス拒否します。


<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

[2] wp-config.phpの保護

wp-config.phpにはパスワードなどが平文で書かれていますので、こちらもアクセス拒否するようにします。


<files wp-config.php>
order allow,deny
deny from all
</files>

[3] インクルードファイルの保護

インクルードファイルはユーザからアクセスする必要がないので、こちらもアクセス拒否するようにします。


<IfModule mod_rewrite.c>
・・・

RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

・・・
</files>

[4] SITEGUARD_PLUGINを導入

いろいろセキュリティプラグインがありますが、手っ取り早くwp-login.phpを別のものにしたいので、SiteGuard Pluginを導入して、WPログイン画面を隠蔽します。

正規表現を図で表すサイト

https://regexper.com/

素晴らしい!とても便利です。

リトルサーバーでWordPressを立ち上げてみた

レンタルサーバー選定

以前からサーバ設定のメモにblogspotを利用していましたが、何かと不便な部分もあり、WordPressのようなCMSを利用してブログを書いていきたいと日々思っていましたが、サーバレンタル費用を考えると結構かかるし、費用を抑えると、ちょっとディスク容量が足りないし・・・と思っていたところ、リトルサーバーがっちょうどいい費用と容量だったんです。そこで10日間無料お試しでWPの動作やスピード等を確認してみたいと思います。