ラズパイ3のGitlab へ ssh で git clone

ラズパイ3にGitlab をインストールしたので
ここでリポジトリ管理することに

参考サイトは
AndroidStudioからGitLabにSSH接続する

まず gitlab へ ssh 鍵を登録

cd ~/.ssh/
ssh-keygen -t ecdsa -b 256 -C "gitlab connect"

で鍵を作成

Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/snowpool/.ssh/id_ecdsa):

と鍵ファイル名を聞かれるので、ファイル名を入力

今回は
android_gitlab

次にパスフレーズの設定だけど
テストなので今回は未入力で Enter

Enter same passphrase again: 

もう一回確認されるので、再度Enter

次に Gitlab へログインして
右上アイコンから Settings をクリック

次に .pubファイルの中身を貼り付けるけど
mac なら pbcopy コマンドが使えるけど
ubuntu なので

[Linux] コマンドラインでの標準出力をクリップボードにコピーする

を参考に

sudo apt-get install xsel

で xsel コマンドをインストール

さらに
Macのpbcopyをubuntuでも使う

を参考に
エイリアスを設定すると楽とのことなので

【初心者向け】エイリアスの設定方法

を参考に

vim ~/.bashrc 

でファイルを開き

alias pbcopy='xsel --clipboard --input'

を最終行に追記

source ~/.bashrc 

で設定の反映

これで pbcopy でクリップボードにコピーできるので

pbcopy < android_gitlab.pub 

として android_gitlab.pub の中身をコピーし

gitlab の key のところへ貼り付けして
Add Key をクリック

これで鍵が登録されます

次にテストリポジトリを作成します
トップ画面から New project をクリック

Project name は test
Visibility level は Public にして
Create project をクリック

これでリポジトリが作成されたので
鍵を有効化するために ssh 接続します

まず鍵の設定をします

vim ~/.ssh/config 

で設定ファイルを開き

Host raspberrypi
 User git
 Port 22
 HostName 192.168.1.208
 Identitiesonly yes
 IdentityFile ~/.ssh/android_gitlab

として保存

あとは ssh で git clone したいので

git clone git@raspberrypi:snowpool/test.git

とするとテストリポジトリの clone ができます

ここまでできたら次に
Android Studio でGitLabが使えるように設定

Amazon Linux へ wordpress設定とHTTPS対応

Amazon Linux へ wordpress設定とHTTPS対応

Amazon Linux へ let’s encript設定

で Let’s encript の設定ができたので
続いて wordpress の設定

まずDBの作成

今回は mysql の -e オプションで
コマンドから直接SQLを実行します

参考サイトは
Let’s Encryptを使ってEC2(Amazon Linux)に構築したWordPressを無料でhttps(SSL)対応してみる


mysql コマンドのオプションについては
mysql コマンドオプション

を参考に

ちなみに、mysql のファイルを sqlファイルで作成し
コマンドで実行するなら

mysql -uユーザ名 -pパスワード DB名 < SQLファイル名

で実行可能

mysql -uroot -pパスワード -e 'CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8'

でwordpressDBを作成し
文字コードを utf8 へ設定

mysql -uroot -pパスワード -e "GRANT ALL ON wordpress.* TO 'ユーザ名'@'localhost' IDENTIFIED BY 'パスワード'"

これで wordpress のユーザとパスワードを設定し
権限付与

 mysql -uroot -pパスワード -e "FLUSH PRIVILEGES;

で設定反映

次に wordpress の取得と設置

wget https://wordpress.org/latest.tar.gz

で最新版を取得

tar -xzf latest.tar.gz

で解凍

cp -r wordpress/* /var/www/html/

でwordpress の構成ファイルをコピー

これで取得したドメインへブラウザでアクセスすると
インストール画面になります

まず let’s go をクリック

aws-wp-1

次にDatabase Name には
データベース名

username にはユーザ名

Password にはパスワード

これらは mysql で設定した wordpres DB のものを
入力し
submit をクリック

awsw-wp2

次に
Run the instalation
をクリック

aws-wp3

次にサイトの設定になるので
Site Title にはサイト名

Username には管理ユーザ

Pasword にはパスワード

Your Email には連絡用 メルアドを入力

aws-wp4

これでインストールすると確認画面になり
ログインできるようになります

aws-wp5

ただ、このままだとまだセキュリティに問題があるため
設定をしていきます

まず .htaccess を使えるように 設定変更

sudo vim /etc/httpd/conf/httpd.conf

で設定ファイルを開き

151行目あたりの

AllowOverride None

AllowOverride All

へ変更し保存

サブドメインの www.ドメイン名でも
Let’s Encritpt の証明書が有効になるように

sudo vim /etc/httpd/conf.d/ssl.conf 

で設定ファイルを開き

104行目あたりに

 SSLCertificateFile /etc/letsencrypt/live/www.ドメイン名/fullchain.pem

を追記し

114行目あたりに

SSLCertificateKeyFile /etc/letsencrypt/live/www.ドメイン名/privkey.pem

を追記

なお、fulchain.pem なのは
apache 2.4.8 以降だと
chani.pem ではなく、こっちを使うことになります

参考サイトは
Let’s encrypt運用のベストプラクティス

設定ができたら、

sudo service httpd restart

で apache2 の再起動

これで https でアクセスしても警告がでなくなります

次に
wordpressサイト自体のURLを
https でアクセスするよう設定

ログインして Settings > General で
Wordpress Address(URL)

Site Address(URL)

http://
の部分を
https://
に書き換え保存

wp-ssl

これで、wordpress のリンクがhttpsになります

ただ、これだけだと http でアクセスしてくると
https になっていないため
リダイレクト処理を追加します

参考サイトは
WordPressサイトをHTTPS化する手順

sudo vim /var/www/html/.htaccess 

でファイルを開き

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

をファイル先頭に追記し保存
RewriteCond は条件式で
今回はhttpアクセスなら RwriteRule を実行

RewirteRule では https から始まって
ホスト名とリクエストURLを書き換えて
https でリダイレクトという処理

なお

# BEGIN WordPress

# END WordPress

の間に書いてしまうと
wordpress により自動更新されるので
ここ以外に書かないとダメ

これでスマホなどで http でアクセスしても
https にリダイレクトされるのが確認できました