서버에 무들 설치하기
28 Dec 2018 - breadkey
설치환경
CentosOS 7.6.1810 x86_64
환경설정
무들을 설치하기 위해선 웹 서버, 데이터베이스, PHP가 필요하다.
1. 데이터베이스 설치
나는 MySQL에서 파생되었고, MySQL과 호환되며 MySQL보다 더 많은 기능을 가지고 있는 MariaDB를 설치하고자 했다. MariaDB와 MySQL 기능비교
# yum install mariadb-server
MariaDB를 설치하기 위해 위 명령어를 실행하니 다음과 같은 오류가 발생했다.
현재 yum의 베이스 레포지토리가 mirror.kakao.com인데, 이 레포지토리에 MariaDB 패키지가 존재하지 않아서 발생하는 문제이다. 따라서 MariaDB를 설치할 레포지토리를 등록했다.
# vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
이후 다시 정상적인 설치 절차를 수행하였다.
- mariadb를 설치한다.
# yum install mariadb-server
- 설치가 완료되면 다음 명령어를 통해 부팅 시 MariaDB가 시작할 수 있도록 하고 MariaDB를 시작한다.
# systemctl enable mariadb # systemctl start mariadb
- 설치가 제대로 됐는지 다음 명령어를 통해 확인한다
# systemctl status mariadb
- 보안과 관련된 것들을 설정한다.
# mysql_secure_installation
- 설정이 완료된 후 MariaDB에 정상적으로 연결되는지 확인한다.
# mysql -u root -p
2. PHP 설치
무들 릴리즈 노트에 따르면 PHP 버전은 7.0.0 이상이여야 하는데 7.3버전은 현재 적용이 불가능 하므로 PHP 7.2버전을 설치했다.
CentOS에 PHP7.x를 설치하기 위해서 EPEL 레포지토리와 Remi 레포지토리가 설치되있어야 한다.
- EPEL 레포지토리 설치
# yum install epel-relase # yum install yum-utils
- Remin 레포지토리 설치
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- PHP 7.2 설치
- 먼저 다음 명령어를 통해 PHP 7.2 Remi 레포지토리를 활성화한다.
# yum config-manater --enable remi-php72
- 활성화되면 PHP 7.2와 몇가지 모듈들을 설치한다.
# yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
3. 웹 서버 설치
현재 가장 많이 쓰이는 Apache를 설치하기로 했다.
# yum install httpd
PHP를 아파치에서 작동하게 하려면 단순히 아파치를 재시작하면 된다.
# systemctl restart httpd
Docker를 사용해 Moodle 설치
레포지토리를 이용한 도커 설치
1. 레포지토리 설정
1. 필요한 패키지 설치
- yum-utils
- device-mapper-persistent-data
- lvm2
2. 안정적인 레포지토리 설정
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 옵션: edge와 test 레포지토리 활성화하기
# yum-config-manager --enable docker-ce-edge # yum-config-manager --enable docker-ce-test
–disable를 통해 비활성화할 수 있다.
2. Docker CE 설치
1. 최신버전으로 설치
# yum install docker-ce
2. 특정버전으로 설치
다음 명령어로 버전들을 확인한다.
$ yum list docker-ce --showduplicates | sort -r
다음 명령어로 원하는 버전을 설치한다.
# yum install docker-ce-<원하는 버전>
3. 도커 시작
# systemctl start docker
4. 제대로 설치됐는지 확인
# docker run hello-world
이 명령어는 테스트 이미지를 다운받고 컨테이너에서 실행시킨다.
도커를 통한 무들 설치
Docker Compose를 사용해 실행
1. 도커 컴포즈 설치
- python-pip 설치
# yum install epel-release # yum install python-pip
- Docker compose 설치
# yum upgrade python* # pip install docker-compose
- 정상적으로 작동하는지 확인
$ mkdir docker-compose-test $ cd docker-compose-test $ gedit docker-compose.yml
docker-compose.yml
test: image: hello-world
$ docker-compose up
2. 무들 설치
$ mkdir moodle-test $ cd moodle-test $ gedit docker-compose.yml
docker-compose.yml
version: '2' services: mariadb: image: 'bitnami/mariadb:latest' environment: - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle - ALLOW_EMPTY_PASSWORD=yes volumes: - 'mariadb_data:/bitnami' moodle: image: 'bitnami/moodle:latest' environment: - MARIADB_HOST=mariadb - MARIADB_PORT_NUMBER=3306 - MOODLE_DATABASE_USER=bn_moodle - MOODLE_DATABASE_NAME=bitnami_moodle - ALLOW_EMPTY_PASSWORD=yes ports: - '80:80' - '443:443' volumes: - 'moodle_data:/bitnami' depends_on: - mariadb volumes: mariadb_data: driver: local moodle_data: driver: local
포트번호가 사용중일 수 있으니 사용중인 포트 번호를 다른 번호로 변경한다. ex) ‘80:80’ -> ‘4000:80’
$ docker-compose up moodle
이후 ip주소:포트번호로 브라우저를 통해 접속해본다.
tag: | linux | docker | moodle |
---|