Centos 8.1.1911 이 배포 되었다.
당장 OS 를 올릴 필요는 없지만 새로운 OS 가 추후에는 사용이 될것이기 때문에
Docker 환경에서 연습이 필요로 하다고 판단되어 Windows for Docker 를 이용하여 컨테이너를 생성하여 설치 테스트 및 작동 테스트를 해보았다 ‘ㅅ’a
사전에 c 드라이브를 분배 하여 w 드라이브에 workspace 를 생성 하였으며 컨테이너 웹 디렉토리와 연결한다. (windows 환경에서 php 개발 편의성)
물론 Docker 부분만 제외 한다면 Centos 8 에서 같은 방법으로 설치가 가능하다.
docker 에 centos 8 공식 이미지를 통해 컨테이너 생성을 한다.
1 2 3 4 |
> docker pull centos > docker run --privileged -d --name centos8 -p 80:80 -v w:/php73-fpm:/var/www/html --restart unless-stopped centos init ### [관리자권한] [컨테이너이름] [포트포워딩] [디스크마운트:컨테이너마운트] [자동재시작-계획없는정지시] [이미지] > docker exec -it centos8 bash |
Remi’s 레포지토리 추가 및 php 7.3 설치 (httpd 는 의존성에 의해 OS 기본 제공 되는 2.4.37이 설치 된다.)
1 2 3 4 5 6 7 8 |
~]# dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm ~]# dnf module list php ~]# dnf module reset php ~]# dnf module enable php:remi-7.3 ~]# dnf install php php-common php-opcache php-gd php-curl \ php-mysqlnd php-pecl-mcrypt php-bcmath \ php-pecl-igbinary php-intl php-pecl-memcached \ php-pecl-zip httpd mod_ssl |
apache 설정 (웹 디렉토리는 /var/www/html 으로 진행 하였음.)
1 2 3 |
~]# sed -i 's+ UserDir disabled+ UserDir html+g' /etc/httpd/conf.d/userdir.conf ~]# sed -i 's+tory "/home/\*/public_html">+tory "/var/*/html">+g' /etc/httpd/conf.d/userdir.conf ~]# sed -i 's+ServerName www.example.com:80+ServerName '$(hostname)'+g' /etc/httpd/conf/httpd.conf |
php-fpm 설정
1 2 3 |
~]# sed -i 's+;listen.owner = nobody+listen.owner = apache+g' /etc/php-fpm.d/www.conf ~]# sed -i 's+;listen.group = nobody+listen.group = apache+g' /etc/php-fpm.d/www.conf ~]# sed -i 's+listen.acl_users+;listen.acl_users+g' /etc/php-fpm.d/www.conf |
php.ini 설정 (파일 업로드 100M 와 숏코드만 사용 만 수정)
1 2 3 |
~]# sed -i "s+^post_max_size = 8M+post_max_size = 120M+g" /etc/php.ini ~]# sed -i "s+^upload_max_filesize = 2M+upload_max_filesize = 100M+g" /etc/php.ini ~]# sed -i "s+^short_open_tag = Off+short_open_tag = On+g" /etc/php.ini |
apache 및 php-fpm 시작 및 활성화
1 2 |
~]# systemctl enable --now php-fpm ~]# systemctl enable --now httpd |
docker hub: https://hub.docker.com/r/san0123/centos8-apache24-php73
도커 이미지(latest)의 경우 php-fpm 이 아닌 libphp7.so 으로 httpd-profork 방식으로 설정 되어 있다. (ssl, http2 등 사용 불가)
php 7.4 : https://hub.docker.com/r/san0123/centos8-apache24-php74
ps. MariaDB 10.4 설치
mariadb 는 centos 에서 10.3.17 이 제공되지만 업데이트는 잘되지 않기 때문에 mariadb 에서 제공 되는 repo를 추가하고 설치한다.
1 2 3 4 5 6 7 8 |
~]# echo '# MariaDB 10.4 CentOS repository list - created 2020-05-18 08:32 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos8-amd64 module_hotfixes=1 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1' > /etc/yum.repos.d/MariaDB.repo |
1 |
~]# dnf -y install MariaDB-server MariaDB-client |
mariadb 시작 및 활성화
1 |
~]# systemctl enable --now mariadb |