본문 바로가기

리눅스(Linux)94

728x90
반응형
[CentOS 7] 아파치 웹서버 "Permission denied" 오류 조치 아파치 웹서버를 구축하여 자신의 서비스를 개발하다보면 다음과 같은 "Permission denied"라는 오류가 발생한다. 파일 사용 권한 문제인데 파일 소유주와 그룹, 그룹별 사용 권한을 이미 설정하여 권한을 부여했는데도 발생하면 SELinux 때문에 발생하는 문제이다. 1. 오류화면 2. SELinux 정책 수정을 통한 권한 부여 아래와 같이 명령어를 입력하여 읽기 권한을 부여하면 대게 문제는 해결된다. chcon -R -t httpd_sys_content_t 대상경로 쓰기 권한이 필요하다면 아래의 명령어를 입력하면 된다. chcon -R -t httpd_sys_rw_content_t 대상경로 참고문서 [1] RHEL/CentOS 7 httpd SELinux policy 변경, lesstif. 2021. 4. 8.
[CentOS 7/8] 아파치 웹서버(HTTPD) HTTPS(SSL) 적용하기 아파치 웹서버의 가상호스트(Virtual Host) 기능을 이용하여 도메인별로 HTTPS를 적용하는 방법을 소개한다. SSL 인증서는 아래의 참고 링크를 확인하여 생성한다. 참고링크 : "인증서 생성하기[CentOS 7/8] HTTPS 서비스를 위해 SSL 인증서 생성하기", 공학코드, 2021-04-08. 1. SSL 모듈 설치 먼저 아파치 웹서버가 SSL을 사용할 수 있도록 SSL 모듈을 설치한다. yum install mod_ssl -y 2. HTTPS(SSL) 설정 아래의 명령어를 입력하여 HTTPS 설정 파일을 생성한다. vi /etc/httpd/conf.d/ssl.conf "ssl.conf" 파일 안에 아래의 설정을 자신의 상황에 따라 적절하게 입력한다. Listen 443 https SSLP.. 2021. 4. 8.
[CentOS 7/8] 아파치 웹서버(HTTPD) HTTP 비활성화 하기 아파치 웹서버를 설치하게 되면 기본적으로 HTTP 프로토콜이 80번 포트로 통신하게 되어 있다. HTTPS 통신만 해서 HTTP 통신이 필요 없는 경우 비활성화하는 것이 보안상 유리하기에 본 글에서는 아파치 웹서버의 HTTP 통신을 비활성화하는 것을 다룬다. vi /etc/httpd/conf/httpd.conf 위의 사진처럼 명령어를 입력하여 아파치 웹서버 설정 파일을 연다. 45번 줄의 포트번호를 주석처리한다. 2021. 4. 8.
[CentOS 7/8] 고정(static) IP 주소 설정 서버 컴퓨터를 구축하다보면 서버 수가 적으면 DHCP로 IP 주소를 통제하는 것보다는 수동으로 서버별로 IP 주소를 할당하는 것이 더 나을 때가 많다. 본 글에서는 서버에서 고정 IP 주소를 설정하는 것을 다룬다. 1. 네트워크 인터페이스 확인 네트워크 인터페이스 목록과 각 인터페이스별 설정 값을 확인한다. 이더넷 네트워크 인터페이스인 "ens32"가 현재 "192.168.0.73"으로 자동(DHCP) 할당되어 있는데 "192.168.0.221"로 변경하겠다. ip addr show 2. 네트워크 인터페이스 설정 파일 수정 아래의 명령어를 입력하여 설정파일을 텍스트 에디터로 연다. 컴퓨터마다 네트워크 인터페이스의 이름이 다를 수 있기 때문에 "/etc/sysconfig/network-scripts/네트워.. 2021. 4. 6.
[CentOS 7] MariaDB 방화벽 허용 CentOS7의 방화벽 정책 CentOS 7은 방화벽 때문에 자신의 컴퓨터가 아닌 다른 컴퓨터에서 접근 하는 것을 기본적으로 차단하고 있다. 웹 서버와 DB 서버를 분리한 경우 웹 서버에서 DB 서버로 접근할 수 있도록 방화벽을 허용해줄 필요가 있다. 명령어는 아래 사진과 같다. 방화벽 허용 정책 설정 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="아이피주소/서브넷마스크" port protocol="프로토콜명" port="포트번호" accept" firewall-cmd --reload 방화벽 허용 정책 삭제 firewall-cmd --permanent --remove-rich-rule="rule family="ip.. 2021. 4. 6.
[CentOS 7] IP 주소 확인하는 법 CentOS에서 IP 주소를 확인하는 방법은 여러가지가 있겠지만 본 글에서는 터미널에서 명령어로 IP 주소를 확인하는 법을 다룬다. 아래 처럼 명령어를 입력하면 가지고 있는 네트워크 인터페이스 목록과 해당 네트워크 인터페이스의 IP 주소 값 등을 확인할 수 있다. ip addr show 현재 네트워크 인터페이스는 "lo"와 "ens32"로 두 가지가 있는데 "lo"는 자기 자신을 호출 하기 위한 루프백 인터페이스이며 "127.0.0.1"로 설정되어 있다. "ens32"로 이름이 설정된 이더넷 네트워크 인터페이스는 "192.168.0.73"로 IP 주소가 설정되어 있는 것을 확인할 수 있다. 2021. 4. 6.
[CentOS 7/8] MariaDB 재설치하기 MariaDB를 설치하고 이것저것 테스트하던 중 정전이 발생하여 MariaDB 관련 데이터가 상당히 망가졌다. 복구를 하려고 했으나 내 능력에선 복구에 실패했다. 다행히 데이터베이스 자료는 백업되어 있었기 때문에 재설치하기로 하였다. 1. 기존 MariaDB 설치 확인 yum list installed mariadb\* 위의 명령어를 입력하여 MariaDB 가 설치되어있는 것을 확인한다. 2. 기존 MariaDB 삭제 아래의 사진과 같이 아래의 명령어를 이용하여 삭제한다. yum remove MariaDB-server.x86_64 3. MariaDB 설치 아래의 명령어를 입력하여 MariaDB를 설치한다. yum install mariadb mariadb-server 4. MariaDB 시작 아래의 명령.. 2021. 3. 29.
[CentOS 7] MariaDB "max_open_files" 경고 조치 경고 내용 MariaDB 오류가 발생한 것 때문에 이것 저것 조치하고 있다보니 눈에 거슬리는 경고문이 있어서 조치를 했다. 아래와 같이 MariaDB 서비스를 시작할 때 "[Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)"라고 경고문이 발생했었다. 경고 해결 방법 위의 경고문은 MariaDB 서비스 파일을 수정하여 조치할 수 있다. vi /lib/systemd/system/mariadb.service 위의 명령어를 입력하여 MariaDB 서비스 파일을 텍스트 에디터로 연다. 위와 같은 구문이 있을 수도 있고 없을 수도 있는데 있다면 적당한 숫자를 기입하거나 무한대로 아래와 같이 입력한다. 없으면.. 2021. 3. 28.
[CentOS 7/8] MariaDB 인코딩 설정하기 MariaDB에서 기본적으로 사용할 인코딩을 지정해야 자동으로 무언가를 할 때든 협업할 때든 간에 일이 수월하게 풀린다. CentOS 7에 설치한 MariaDB의 인코딩을 바꾸는 방법은 다음과 같다. 1. MariaDB 설정 파일 열기 vi /etc/my.cnf.d/server.cnf 2. MariaDB 설정 파일 수정 적당한 곳에 인코딩 설정을 입력한다. 필자의 경우 UTF-8로 지정하기 위해 아래처럼 입력했다. character_set_server = utf8 이모지 활용을 위해 utf8mb4로 인코딩을 지정하고 싶다면 아래처럼 입력하면 된다. character_set_server = utf8mb4 2021. 3. 28.
[CentOS 7/8] 시스템 시간을 한국 시간으로 변경하기 CentOS를 설치할 때 별도 시간 설정 없이 진행하면 아래와 같이 한국 시간이 17시 53분이지만 뉴욕 시간으로 나타나서 로그 파일을 볼 때 상당히 불편하다. 아래와 같은 명령어로 서울 시간으로 시스템 시간을 변경하면 한국 시간으로 로그파일이 잘 나타나는 것을 확인할 수 있다. sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 2021. 3. 27.
[CentOS 8] 워드프레스를 설치할 때 주의점 워드프레스를 설치하여 몇 가지를 테스트해보려고 했는데 설치화면에서 오류가 발생하여 설치를 한참 진행하지 못 했다. 설치화면에서 오류가 나면 무슨 오류가 났는지를 알려주지 않기 때문에 고생했었는데 필자의 경우 해결방법이 다음과 같았다. php7.2.x 기준으로 워드프레스를 설치하는 중에 다음과 같은 오류가 발생하면 다음의 패키지를 설치하면 해결될 것이다. 워드프레스 설치 주소 : "http://도메인명/wp-admin/install.php" "There has been a critical error on this website."라고 오류메시지가 발생하면 워드프레스가 의존하는 php 패키지를 추가설치해줄 필요가 있다. 나의 경우 "php-json" 패키지가 없었다. 1. php-json 패키지 설치 yum.. 2021. 1. 10.
[CentOS 7/8] 아파치 웹서버(httpd)와 PHP를 설치하자 CentOS 8에 아파치(Apache) 웹서버(HTTPD)와 PHP를 설치해서 테스트할 것이 생겼다. 그래서 각종 자료를 열람하여 설치를 했는데 시행착오를 좀 겪어서 필자가 사용하기 좋게 정리를 하였다. 1. 의존성 라이브러리 패키지 설치 아래의 명령어를 입력하여 선행 설치 파일을 설치한다. yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel 2. 아파치 웹서버(httpd) 설치 아래의 명령어로 아파치 웹서버를 설치한다. yum install -y httpd* 아래의 명령어로 설치한 아파치 웹서버가 잘 설치되었는지 확인한다. httpd -v 3. PHP 설치 아래의 명령어로 PHP 패키지를 설치한다. .. 2021. 1. 7.
[CentOS 7/8] MariaDB 설치하기 MariaDB 를 사용하는 이유 MariaDB는 무료로 사용할 수 있는 강력한 DBMS(DataBase Management System)이다. 나의 경우 취미생활로 즐겨사용한다. 하지만 업무를 할 때는 오라클의 데이터베이스 또는 티맥스의 티베로를 사용하고 있다. 아무래도 한국에서 기술지원 받기가 용이하고 대규모 처리능력이 검증된 것이기도 하며 데이터베이스를 선정하는 분이 오라클이나 티베로를 보통 선택하기 때문이다. 그럼에도 불구하고 MariaDB는 메뉴얼 등을 확인할 수 있는 생태계가 잘 형성되어 있고 무료로 제공되는 엔터프라이즈급 기능들이 있기에 많은 인기가 있는 제품이고 그렇기에 나도 즐겨사용한다. 이 MariaDB를 설치하는 방법은 다음과 같다. 1. MariaDB 저장소 추가 vi /etc/yum.. 2021. 1. 7.
CentOS 7에서 Tomcat 7 가상호스트 설정시 주의사항 본 글은 2016년 4월 18일 16시 14분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 톰캣 서버를 구축하면서 가상호스트 설정이 안 되서 꽤나 애먹었다. 과거에 몇 개의 서버 구축한 경험도 있고 정상적으로 돌아가던 서버의 설정을 가능한 그대로 들고왔는데도 발생한 에러라서 좀 당황스러웠다. CentOS7에서 Tomcat7 가상호스트 설정시 문법적으로 아무런 문제가 없는데도 에러없이 가상호스트 설정이 안 된다면 속성의 배열 순서를 바꾸는 것을 권장한다. example.com 의미 없이 7시간을 날렸다. 문제가 발생한 환경은 아래와 같다. CentOS 7 tomcat 7.0.54 openJDK 1.8.0.77 x64 2020. 10. 14.