さくらVPSにGitLabをインストール
環境
さくらVPS:メモリ1GB, HDD100GB OS:CentOS release 6.9 (Final) GitLab:Community Edition 9.1.0
1. パッケージインストール
$ sudo yum install curl openssh-server openssh-clients postfix cronie
2. postfix起動
$ sudo service postfix start
エラーが出たので sudo postfix check で原因を調べる
$ sudo postfix check $ postfix: fatal: parameter inet_interfaces: no local interface found for ::1
どこかで ipv6 の設定がされているのだろうと予想
/etc/hosts に ipv6の設定が残っていたのでコメントアウト
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 # ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # lokkitはiptablesを書き換えるので注意 # sudo lokkit -s http -s ssh
3. GitLabダウンロード
$ sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
4. GitLabインストール
$ sudo yum install gitlab-ce # /etc/gitlab/gitlab.rb の external_url 設定 $ external_url 'http://example.com:8787'
初期ポートが 8787 なので iptables 更新も忘れないように
$ sudo vim /etc/sysconfig/iptables
$ sudo /etc/init.d/iptables restart
設定を適用
$ gitlab-ctl reconfigure # GitLab再起動 $ gitlab-ctl restart
指定したURLでブラウザからログイン
初期設定は以下になっているのでログインしてパスワードを変更する事
Username : root
Password : 5iveL!fe
5. その他
gitlab-ctlコマンド一覧
# サービス停止 $ gitlab-ctl stop # 再起動 $ gitlab-ctl restart # ヘルプ $ gitlab-ctl help
さくらVPSにssh接続 Mac版
タイトルの通りです。
VPSの初期設定は以下を参考にしました。 tadasy.hateblo.jp
- 1. [vps]ssh用ディレクトリ作成
- 2. [mac]公開鍵を作成
- 3. [mac]公開鍵をvpsに転送
- 4. [vps]公開鍵を設定
- 5. [mac]ssh接続を設定
- 6. [vps]sshdの設定をする
- 最後に
1. [vps]ssh用ディレクトリ作成
$ mkdir /home/hoge/.ssh $ chmod 700 /home/hoge/.ssh $ ls -al /home/hoge
2. [mac]公開鍵を作成
最初に鍵の置き場所を聞かれるので以下のように任意のパスを指定 /Users/hoge/.ssh/id_rsa_sakura
$ ssh-keygen -C 'for_sakura' Generating public/private rsa key pair. Enter file in which to save the key (/Users/hoge/.ssh/id_rsa): /Users/hoge/.ssh/id_rsa_sakura Created directory '/Users/hoge/.ssh'. Enter passphrase (empty for no passphrase):(パスワード入力) Enter same passphrase again:(パスワード再入力) ----省略----
3. [mac]公開鍵をvpsに転送
# wwwXXXX.sakura.ne.jpにhogeユーザーで公開鍵を転送 $scp ~/.ssh/id_rsa_sakura.pub hoge@wwwXXXX.sakura.ne.jp:/home/hoge/.ssh
4. [vps]公開鍵を設定
$cd /home/hoge/.ssh $cat id_rsa_sakura.pub >> authorized_keys $chmod 600 authorized_keys $ls -al 合計 16 drwx------ 2 hoge hoge 4096 4月 23 17:33 2017 . drwx------ 3 hoge hoge 4096 4月 23 17:33 2017 .. -rw------- 1 hoge hoge 392 4月 23 16:42 2017 authorized_keys -rw-r--r-- 1 hoge hoge 392 4月 23 16:41 2017 id_rsa_sakura.pub
5. [mac]ssh接続を設定
ターミナルから ssh sakura で接続できるようにします。
$cd /Users/hoge/.ssh $vi config ----ここから---- # sakura VPS Host sakura HostName wwwXXXX.sakura.ne.jp IdentityFile ~/.ssh/id_rsa_sakura User hoge ----ここまで書く---- # 接続確認 $ssh sakura Last login: Sun Apr 23 18:00:41 2017 from fdafefafea.ap.so-net.ne.jp SAKURA Internet [Virtual Private Server SERVICE]
6. [vps]sshdの設定をする
#ssh接続でvpsに入る $ssh sakura # viでsshdの設定を以下のように変更 $sudo vi /etc/ssh/sshd_config # ポート変更 Port 10022 # rootで直接ssh接続できないようにする PermitRootLogin no # パスワードなしでログイン禁止 PermitEmptyPasswords no # 鍵認証許可 PubkeyAuthentication yes # 鍵置き場 AuthorizedKeysFile .ssh/authorized_keys # パスワード認証を無効化 PasswordAuthentication no # sshd再起動 $sudo /etc/init.d/sshd restart sshd を停止中: [ OK ] sshd を起動中: [ OK ]
更にポート番号を変更したのでmacのssh設定を以下のように書き換えます。
$cd /Users/hoge/.ssh $vi config # sakura VPS Host sakura HostName wwwXXXX.sakura.ne.jp Port 10022 #ポート番号追加
※PermitRootLogin no
VPSコントロールパネルからは rootユーザーとパスワードで入れるが sshでは入れなくなる
※PasswordAuthentication no scpで転送したい時は yes に戻す必要があります。
※Port 10022
デフォルトポート番号 22 は攻撃され易いので セキュリティ面から 10021 〜 65535 で設定しておきます。
7. 最後に
これでさくらvpsにMacからssh接続できるようになりました。 複数クライアントで接続したい場合は authorized_keys に 追加したいクライアントの公開鍵を追記すればOKです。 注意:上書きではなく追記です
【Python】備忘録
自分用メモ
リスト内包表記
リスト内包表記が便利なのか面倒なのか良く分からないので取りあえずメモ
コード
# if list = [n for n in range( 10 ) if n % 2 == 0] print u'\nif' print list # if-else list = [i if (i % 2 == 0) else str(i) for i in range(10)] print u'\nif-else' print list # loop:zip print u'\nloop:zip' list1 = [1,2,3] list2 = [4,5,6] for (a, b) in zip( list1, list2 ): print a,b # loop:enumerate print u'\nloop:enumerate' list1 = ['a','b','c'] for (i, x) in enumerate( list1 ): print i,x
結果
if [0, 2, 4, 6, 8] if-else [0, '1', 2, '3', 4, '5', 6, '7', 8, '9'] loop:zip 1 4 2 5 3 6 loop:enumerate 0 a 1 b 2 c
その他
リスト内包表記によるリスト作成はappendメソッドを呼ばないので
append呼び出しによるリスト作成に比べて実行速度が速い
list = [ i for i tmpList if is_valid_file( i ) ]
クラス
# HogeObjectクラス. class HogeObject: def __init__(self): print('コンストラクタやで') self.num = 10 def __del__(self): print('デストラクタやで') def func() print('numは{}やで' . format(self.num)) obj = HogeObject() # インスタンス生成. obj.func() # 「numは10やで」表示. del obj # インスタンス破棄.
空のクラスを定義する場合は pass を使う
class EmptyClass: pass
多値返却
関数の戻り値を複数にすることができる
status, data = hoge_func() print status print data # False # 15 def hoge_func(): sum = 5 + 10 return (True, sum);
辞書で返す事もできる、値が多くなってきたら便利そう
result = hoge_dict() print result[ 'flag' ] print result[ 'sum' ] # True # 15 def hoge_dict(): sum = 5 + 10 return {'flag':True, 'sum':sum }
*args,**kwargs について
関数の引数に指定したリストや辞書を分解して渡すことができる
def hoge_func( a = 0, b = 0, c = 1 ) return a + b + c args = [1, 2, 3] kwargs = {'a':5, 'b':6, 'c':7} print "none:", hoge_func() print "*args:", hoge_func(*args) print "**kwargs:", hoge_func(**kwargs) # none:1 # *args:6 # **kwargs:18
その他
・tim.clock() はプロセッサのクロックタイムを返す、ベンチマークとかに使う