ラズパイのOSはRaspbian Stretch
。Java1.8.0
がインストール済み。
HOMEディレクトリを作成するため、-m
オプションをつける。
$ sudo useradd -m tomcat
$ cat /etc/passwd | grep tomcat
tomcat:x:1001:1001::/home/tomcat:/bin/bash
Tomcat9
のバイナリをダウンロードする。
$ cd
$ wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
/usr/local
に配置する。
$ tar zxvf apache-tomcat-9.0.14.tar.gz
$ sudo mv apache-tomcat-9.0.14 /usr/local
ディレクトリの所有者をtomcat
に変更する。
$ cd /user/local
$ sudo chown -R tomcat:tomcat apache-tomcat-9.0.14
シンボリックリンクを貼る。
$ sudo ln -s apache-tomcat-9.0.14 apache-tomcat
Tomcatのサービスをsystemd
で管理するため、/etc/systemd/system/tomcat.service
を作成する。
$ cd /etc/systemd/system
$ sudo touch tomcat.service
tomcat.service
は以下の内容を記述する。
[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/user/local/apache-tomcat/tomcat.pid
RemainAfterExit=yes
ExecStart=/usr/local/apache-tomcat/bin/startup.sh
ExecStop=/usr/local/apache-tomcat/bin/shutdown.sh
ExecReStart=/usr/local/apache-tomcat/bin/shutdown.sh;/usr/local/apache-tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
tomcat.service
の権限を変更する。
$ sudo chmod 755 tomcat.service
Tomcatを起動する。
$ sudo systemctl start tomcat
ステータスを確認する。
$ sudo systemctl status tomcat
● tomcat.service - Apache Tomcat 9
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2019-01-04 18:54:24 JST; 27s ago
Process: 2184 ExecStop=/usr/local/apache-tomcat/bin/shutdown.sh (code=exited, status=0/SUCCESS)
Process: 2210 ExecStart=/usr/local/apache-tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 2210 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/tomcat.service
└─2224 /usr/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls
1月 04 18:54:23 raspberrypi systemd[1]: Starting Apache Tomcat 9...
1月 04 18:54:24 raspberrypi startup.sh[2210]: Using CATALINA_BASE: /usr/local/apache-tomcat
1月 04 18:54:24 raspberrypi startup.sh[2210]: Using CATALINA_HOME: /usr/local/apache-tomcat
1月 04 18:54:24 raspberrypi startup.sh[2210]: Using CATALINA_TMPDIR: /usr/local/apache-tomcat/temp
1月 04 18:54:24 raspberrypi startup.sh[2210]: Using JRE_HOME: /usr
1月 04 18:54:24 raspberrypi startup.sh[2210]: Using CLASSPATH: /usr/local/apache-tomcat/bin/bootstrap.jar:/usr/local/apache-tomcat/bin/tomcat-juli.jar
1月 04 18:54:24 raspberrypi systemd[1]: Started Apache Tomcat 9.
自動起動にする。
$ sudo systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.
自動起動を確認する。
$ sudo systemctl list-unit-files --type=service | grep tomcat
tomcat.service enabled
/usr/local/apache-tomcat/webapps/manager/META-INF/context.xml
を以下の内容で修正する。
allow
の値に192\.168\.1\.\d+
を追加することで、Tomcat Manager
に192.168.1.0/24
からアクセスできるようになる。
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.1\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
/usr/local/apache-tomcat/conf/tomcat-users.xml
を以下の内容で修正する。
Tomcat Manager
にadmin
/manager
でアクセスする場合。
...
<role rolename="manager-gui"/>
<user username="admin" password="manager" roles="manager-gui"/>
</tomcat-users>
GitBucket
のwarをダウンロードする。
$ cd
$ wget https://github.com/gitbucket/gitbucket/releases/download/4.30.1/gitbucket.war
Tomcat
のアプリケーションディレクトリにgitbucket.war
を配備する。
$ sudo cp gitbucket.war /usr/local/apache-tomcat/webapps/
配備すると/home/tomat
に.gitbucket
ディレクトリが作成される。
ローカルPCのブラウザから以下URLにアクセスし、Gitbucketの画面を確認する。
http://<ラズパイのIP>:8080/gitbucket
Network Plugin
、Emoji Plugin
を導入する。
/home/tomat/.gitbucket/plugins
ディレクトリにgitbucket-emoji-plugin-gitbucket_4.28.0-4.5.1.jar
、gitbucket-network-plugin_2.12-1.6.1.jar
を配置する。
$ sudo su - tomcat
$ cd .gitbucket/plugins
$ wget https://plugins.gitbucket-community.org/releases/gitbucket-emoji-plugin/gitbucket-emoji-plugin-gitbucket_4.30.1-4.5.1.jar
$ wget https://github.com/mrkm4ntr/gitbucket-network-plugin/releases/download/1.6.1/gitbucket-network-plugin_2.12-1.6.1.jar
$ exit
Tomcatを再起動する。
$ sudo systemctl restart tomcat
PostgreSQL
をインストールする。
$ sudo apt-get install postgresql
postgres
ユーザのパスワードを設定する。
$ sudo passwd postgres
postgres
ユーザでログインする。
$ su - postgres
gitbucket
ユーザを作成する。-S
はスーパーユーザ権限を与えない。-D
はデータベース作成権限を与えない。R
はユーザ作成権限を与えない。-P
はパスワードを設定する。
$ createuser -S -D -R -P gitbucket
新しいロールのためのパスワード:
もう一度入力してください:
ユーザを確認する。
$ psql
postgres=# \du
ロール一覧
ロール名 | 属性 | メンバー
-----------+------------------------------------------------------------------------------------------------+----------
gitbucket | | {}
postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, 行単位セキュリティを無視 | {}
postgres=# \q
gitbucket
データベースを作成する。所有者はgitbucket
ユーザ。
$ createdb --owner=gitbucket gitbucket
データベースを確認。
$ psql -l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
-----------+-----------+------------------+-------------+-------------------+-----------------------
gitbucket | gitbucket | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 行)
/etc/postgresql/9.6/main/pg_hba.conf
に以下を追記する。192.168.1.0/24
のネットワークからアクセスできる。
host all all 192.168.1.0/24 md5
※pg_hba.conf
の場所は以下コマンドでわかる。
$ psql -U postgres -P format=unaligned -t -c 'SHOW hba_file;';
/etc/postgresql/9.6/main/pg_hba.conf
/etc/postgresql/9.6/main/postgresql.conf
を以下の内容で編集する。外部からのアクセスを許可する。
listen_addresses = '*'
サービスを再起動する
$ sudo systemctl restart postgresql
/home/tomcat/.gitbucket/database.conf
を以下の内容で編集する。
db {
url = "jdbc:postgresql://localhost/gitbucket"
user = "gitbucket"
password = "gitbucket"
}
Tomcatを再起動する。
$ sudo systemctl restart tomcat