BETA

Centos7でGrowi構築

投稿日:2019-03-03
最終更新:2019-03-03

経緯

昔から持ってたドメインをAWSに移管してみたのでついでになにかやろうと思った

作業ログ

t2.smallでEC2にインスタンスを作成(t2.microだとelasticsearchがエラーになっていたので)
ElasticIPでパブリックIPを固定
~/.sshに移動して

ssh -i ~/.ssh/[鍵ファイル].pem [email protected][設定したIP]

最初は
https://github.com/weseek/growi
から起動しようと思ったが途中でうまく動かなかったので(あとから思えばポート開放忘れてただけなのだが・・・)
https://github.com/weseek/growi-docker-compose
にて構築
なので手順がぶれてたりする

新規のインスタンスからなので今回のインストールに関係ないものも入れているところはある
wgetとか

## wget, yarn, node, npm  
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -  
sudo yum -y install wget  
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo  
sudo yum install git gcc-c++ make nodejs yarn  
sudo npm install -g [email protected]  

## selinux  
sudo /etc/sysconfig/selinux  
sudo vi /etc/sysconfig/selinux  

## epel, jdk  
sudo yum -y install epel-release  
sudo yum -y install java-1.8.0-openjdk  

## nginx, docker, docker-compose  
sudo yum -y install nginx  
sudo yum -y install docker  
sudo yum -y install docker-compose  

## forever  
sudo npm install forever -g  

## growi  
mkdir personal  
cd personal/  
git clone https://github.com/weseek/growi.git  
cd growi/  
sudo sudo git checkout -b v3.3.10 refs/tags/v3.3.10  

## このあといろいろ試行錯誤した  
## elasticsearchが起動しないなどもここで気づいてインスタンスタイプを変更  

## growi-docker-compose  
cd ../  
git clone https://github.com/weseek/growi-docker-compose.git  
sudo vi growi-docker-compose/docker-compose.yml  
cd growi-docker-compose/  
docker-compose up -d  

## ここで起動しなかったのでエラー確認  

## service  
sudo vi /etc/nginx/nginx.conf  
sudo systemctl enable nginx  
sudo systemctl start nginx  

## dockerユーザ追加  
sudo groupadd docker  
sudo gpasswd -a $USER docker  
sudo systemctl restart docker  
exit  

## sshしなおして起動  
cd personal/growi-docker-compose/  
docker-compose up -d

いじったファイル

/etc/sysconfig/selinux

#SELINUX=enforcing  
SELINUX=disabled

/etc/nginx/nginx.conf

http {  
    map $http_upgrade $connection_upgrade {  
        default Upgrade;  
        ''      close;  
    }  

    upstream growi {  
        server localhost:3000;  
    }  

    server {  
        location / {  
            proxy_set_header Host $host;  
            proxy_set_header X-Forwarded-Proto $scheme;  
            proxy_set_header X-Forwarded-Port $server_port;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_pass http://growi;  
            proxy_http_version 1.1;  
            proxy_set_header Upgrade $http_upgrade;  
            proxy_set_header Connection $connection_upgrade;  
            proxy_read_timeout 900s;  
        }  
    }  
}
    # localhostを外す  
    ports:  
      - 3000:3000    # localhost only by default  
    # file uploadを有効  
    environment:  
      - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS

確認

ここまでやったら
http://[ElasticIPで設定したIP]
でブラウザから初期画面が表示された
最初はここでEC2のセキュリティグループでポート80と3000を開放していなかったので
http://[ElasticIPで設定したIP]
http://[ElasticIPで設定したIP]:3000
のどっちも表示されなくてハマってた。。。

その後

Route53で移行したドメインとDNSの設定をしてサブドメインにElasticIPを紐づけて移行ドメインで表示することができました

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@sireikanの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!