環境
さくらVPS
CentOS7
参考サイト様
CentOS7.5にGrowiをインストール - Qiita
GrowiをDockerでたてる - Qiita
とりあえずポート開放
なんか3000番使ってる人が多かったので脳死で3000を開放
$ firewall-cmd --add-port=3000/tcp --zone=public --permanent
firewall-cmd
はファイヤーウォール周りをいじいじするためのコマンドです
詳しくはリファレンスを読めば... と調べたんですけど公式のリファレンス的なのないんですね(Linux noob)
第5章 ファイアウォールの使用 - Red Hat Customer Portal
Red Hatのなら信頼できるやろ、ということでこれを読めばいいと思います。
Growiの前提諸々の導入
「root権限でやっちゃえるとこは最初にやっちゃおうぜ、sudo一々つけるのめんどいし」
と、この前提導入までの作業を全てrootで行っています。セキュリティ的にいいのか悪いのかはわかりません。
設定いじれやって話なんですけども。
MongoDBをインストール
もんごもんご!
$ vim /etc/yum.repos.d/mongodb-org-3.4.repo
yumに?リポジトリを追加します。vimで開いたら MongoDBの公式ドキュメント の 上記画像の赤く囲ってあるとこをコピペして貼り付けます。 自分のときは
[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
でした。
$ yum install mongodb-org
でインスコ。yumはパッケージ管理ソフトです。
6.3. Yum と Yum リポジトリの設定 - Red Hat Customer Portal
$ systemctl start mongod.service
で起動
$ systemctl enable mongod.service
で自動起動するようにさせる。
Node.jsとYarnをインストール
Node.jsを入れる
$ curl --location https://rpm.nodesource.com/setup_8.x | bash -
rpmもパッケージ管理ソフトです、yumとの違いを調べるといいと思います。 インストールすると
## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm. ## You may also need development tools to build native addons: sudo yum install gcc-c++ make ## To install the Yarn package manager, run: curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum install yarn
とログが出てくるので##がついてないとこを1行ずつコピペして実行して、必要なものを入れてゆくう。
Docker使って建てる
Docker入れるぜ!
$ curl -O https://download.docker.com/linux/centos/docker-ce.repo $ mv docker-ce.repo /etc/yum.repos.d/ $ yum install docker-ce
起動
$ systemctl start docker
今回はここに建てました
Docker-compose入れるぜ!
いわばDocker管理ソフトみたいなもんです
$ yum install docker-compose
建てるぜ!
Growiのコンテナをクロ~ンするディレクトリをつくって移動してクロ~ンします。
$ mkdir /home/tpp(ユーザーdir)/wiki $ cd /home/tpp(ユーザーdir)/wiki $ git clone https://github.com/weseek/growi-docker-compose.git
docker-compose.ymlを編集します。いわばDockerの設定ファイルです。
$ vim growi-docker-compose/docker-compose.yml
version: '3' services: app: build: context: . dockerfile: ./Dockerfile ports: # - 127.0.0.1:3000:3000 # localhost only by default - 3000:3000 links: - mongo:mongo - elasticsearch:elasticsearch depends_on: - mongo - elasticsearch environment: - MONGO_URI=mongodb://mongo:27017/growi - ELASTICSEARCH_URI=http://elasticsearch:9200/growi # - PASSWORD_SEED=changeme - PASSWORD_SEED=tpp # - FILE_UPLOAD=mongodb # activate this line if you use MongoDB GridFS rr
サーバーの外からもアクセスできるようにしたいので、127.0.0.1を削除。
これしないとlocalhostになっちゃいます。
PASSWORD_SEEDも適当なものに変更。
$ docker-compose up -d
コンテナ起動。ip:3000で入れたら成功。
追記
monogodbをわざわざ入れてるんですけど、そもそもgrowiに入ってるのでいらないっぽいです