
CentOS에 SCL을 사용하여 Growi 설치
소개
CentOS + Growi라는 조합에 대해서는 세상에 좋은 기사가 많이 발견되기 때문에 충분하면 그쪽을 읽는 것이 정중합니다. 나는 다음 기사를 참고했다. 좋은 기사를 정말로 감사합니다.
CentOS7.5에 Growi 설치 - Qiita ( @yuki476 2018년 11월 14일에 업데이트)
CentOS7에 Growi (구 Crowi-Plus)를 설치하는 방법 - Qiita ( @SkyLaptor 2018 년 4 월 19 일에 업데이트)
무엇이 다른가요?
각 소프트웨어의 공식 버전이나 최신 버전을 사용하고 싶다면 위의 기사를 보는 것이 좋습니다. 정말 알기 쉬웠습니다.
그러나 나는 가능한 한 배포판에 가까운 수준의 방법으로 가고 싶다. 그래서 SCL을 사용하는 방법을 시도했습니다. 여기에서는 그 차이를 중심으로 간단한 정리해 두려고 한다.
이 기사에서 설명하지 않는 것
절차
1. CentOS/Redhat Software Collection(SCL) 넣기
$ sudo yum install centos-release-scl{,-rh}
나는 yum
명령을 사용할 때마다 scl을 항상 참조하는 것을 걱정하기 때문에 yum-config-manager
에서 무효화하고있다. yum-config-manager
는 yum-utils
에 있습니다.
$ sudo yum install yum-utils
$ sudo yum-config-manager --disable centos-sclo-{sclo,rh} > /dev/null
리포지토리를 무효화했을 경우, yum
커멘드를 사용할 때마다 yum --enablerepo=centos-sclo-rh
로 할 필요가 있으므로, 수고라고 하면 수고이지만, 메인터넌스를 생각하면, 이쪽이 좋다고 생각하고 있다.
2. git 설치 (선택 사항)
최신판(가 되도록 가까운 판)이 사용하고 싶을 때도 있다(요?). 아래 명령 git
의 버전 번호는 때때로 SCL의 저장소를보고 다시 작성해야합니다. 여기에서는 2.18을 넣었다.
$ sudo yum --enablerepo=centos-sclo-rh install rh-git218
3. mongodb 설치
버전 번호에 대한 참고 사항은 git을 설치할 때와 동일합니다.
$ sudo yum --enablerepo=centos-sclo-rh install rh-mongodb36
systemd의 서비스는 다음 파일에 정의됩니다.
/usr/lib/systemd/system/rh-mongodb36-mongod.service
따라서이 mongodb mongod
를 서비스로 시작하면 다음 명령이됩니다.
$ sudo systemctl start rh-mongodb36-mongod
4. Node.js 및 yarn 설치
$ sudo yum --enablerepo=centos-sclo-rh install rh-nodejs10
$ sudo scl enable rh-nodejs10 'npm install -g yarn'
두 번째 줄을 보완하면 scl
명령으로 환경 변수를 추가하면서 npm
로 global에 yarn
를 설치합니다. (설명되어 있지 않은 것 같은 생각도 들지만 분위기를 느끼고 싶다...) 덧붙여 설치 후의 메시지에도 나오지만, 이 방법이라고 .
덧붙여 yarn
로 커맨드를 치는 것은 멘도사이라고 하는 사람은, 이 근처에서, 이하의 커맨드를 쳐 놓는 것도 좋을까 생각된다.
$ scl enable rh-git218 rh-mongodb36 rh-nodejs10 bash
마지막 실행 명령 부분을 /opt/rh/rh-nodejs10/root/usr/bin/yarn
로 설정하면 각 환경 변수가 설정된 bash가 시작됩니다.
5. Growi 설치
개인적인 취미에 의해, scl enable
에 넣으려고 한다.
첫 번째 줄의 bash
명령은 /opt/growi
이지만 install
입니다. mkdir
와 chown
를 각각의 환경에서 사용자와 그룹으로 바꾸십시오.-ovagrant
의 마지막 점 (현재 디렉토리)도 잊지 마십시오.
$ scl enable rh-git218 bash
$ sudo install -ovagrant -gvagrant -d /opt/growi
$ cd /opt/growi
$ git clone --depth=1 https://github.com/weseek/growi.git .
6. systemd 서비스로 등록
앞서 언급 한 @yuki476의 Qiita 기사에서 사용할 수 있습니다.
$ sudo yum install centos-release-scl{,-rh}
$ sudo yum install yum-utils
$ sudo yum-config-manager --disable centos-sclo-{sclo,rh} > /dev/null
$ sudo yum --enablerepo=centos-sclo-rh install rh-git218
$ sudo yum --enablerepo=centos-sclo-rh install rh-mongodb36
/usr/lib/systemd/system/rh-mongodb36-mongod.service
$ sudo systemctl start rh-mongodb36-mongod
$ sudo yum --enablerepo=centos-sclo-rh install rh-nodejs10
$ sudo scl enable rh-nodejs10 'npm install -g yarn'
$ scl enable rh-git218 rh-mongodb36 rh-nodejs10 bash
$ scl enable rh-git218 bash
$ sudo install -ovagrant -gvagrant -d /opt/growi
$ cd /opt/growi
$ git clone --depth=1 https://github.com/weseek/growi.git .
-gvagrant
는 그대로 만들면 좋다 git clone
는 SCL에 대한 수당이 필요합니다. 다음과 같은 쓰기 방법이됩니다. [Unit]
Description=Growi
After=network.target rh-mongodb36-mongod.service
[Service]
WorkingDirectory=/opt/growi
EnvironmentFile=/etc/sysconfig/growi
ExecStart=/usr/bin/scl enable rh-git218 rh-mongodb36 rh-nodejs10 'npm start'
[Install]
WantedBy=Multi-user.target
참고로
/etc/sysconfig/growi
파일은 다시 쓸 때마다 다음 명령으로 다시로드해야합니다.$ systemctl daemon-reload
7. 종료(서비스 시작)
$ systemctl start rh-mongodb36-mongod growi