서버 운영/APM 서버 구축

[Ubuntu 20.04 - Apache2 서버] envvars의 기본값에 사용된 지시어 설명

씨실과 날실 2020. 10. 13. 09:00

 

[관련 게시물]

Ubuntu 20.04 LTS에서 APM 설치

2020/09/14 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 아파치(Apache2 설치

2020/09/16 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.3 설치

2020/09/18 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.5 설치

2020/09/20 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - PHP 7.4 설치

2020/09/22 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - APM 설치 후 방화벽 설정

2020/09/24 - [서버 운영/APM 서버 구축] - MariaDB 10.4 이후의 계정 인증 관련 변화(unix_socket, mysql_native_password 인증 / 계정, 암호 및 전역 권한 정보 저장 테이블 변경 등)

2020/09/26 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 기본 환경 파일 설정 - apache2.conf 기본 설정

2020/09/28 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 기본 환경 파일 설정 - php.ini 기본 설정

 

Ubuntu 20.04에서 설치한 Apache2 서버 주요 설정 파일 원문

2020/09/30 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 목록

2020/10/05 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 원문 - Apache2

2020/10/07 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 원문 - PHP 7.4 - php.ini

Ubuntu 20.04에서 설치한 Apache2 서버 주요 설정 파일 내 지시어 설명

2020/10/09 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] apache2.conf의 기본값에 사용된 지시어 설명

2020/10/11 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] ports.conf 의 기본값에 사용된 지시어 설명

2020/10/13 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] envvars의 기본값에 사용된 지시어 설명

2020/10/15 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] security.conf의 기본값에 사용된 지시어 설명

2020/10/17 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] 000-default.conf의 기본값에 사용된 지시어 설명

2020/10/19 - [서버 운영/APM 서버 구축] - [Ubuntu 20.04 - Apache2 서버] default-ssl.conf의 기본값에 사용된 지시어 설명


Ubuntu 20.04에서 phpMyAdmin 설치 및 설정

2021.02.20 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 01 - 저장소 설치

2021.03.15 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 02 - Apache 서버 관리자를 위한수동 설치(버전 5.1.0 기준)

2021.03.17 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 03 - 보안강화 작업

2021.03.19 - [서버 운영/APM 서버 구축] - phpMyAdmin 설치 04 - 웹호스팅 사용자를 위한 수동 설치(버전 5.1.0 기준)

2021.03.21 - [서버 운영/APM 서버 구축] - phpMyAdmin 설치 05 - setup 페이지를 통한 구성 파일 생성

Ubuntu 18.04 LTS에서 APM 설치

2018/11/09 - [서버 운영/APM 서버 구축] - Apache 서버 설치

2018/11/14 - [서버 운영/APM 서버 구축] - MariaDB 설치

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 1

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 2 - ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded

2018/11/16 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 3

2018/11/19 - [서버 운영/APM 서버 구축] - PHP7 설치

2018/11/21 - [서버 운영/APM 서버 구축] - 서버 환경 파일 수정 - php.ini, apache2.conf

 

Ubuntu 18.04 LTS에서 MariaDB 백업 및 업그레이드

2019/01/15 - [서버 운영/APM 서버 구축] - MariaDB & MySQL 백업과 복원 - Nextcloud 14

2019/06/27 - [서버 운영/APM 서버 구축] - MariaDB 업그레이드 (Upgrading from MariaDB 10.3 to MariaDB 10.4)

 

Ubuntu 18.04 LTS에서 PHP 버전 전환

2019/07/05 - [서버 운영/APM 서버 구축] - Apache와 Shell에서 PHP 버전 전환하기(How to Switch between Multiple PHP Version)

 

Ubuntu 18.04 LTS에서 phpmyadmin 설치 및 운용

2018/11/23 - [서버 운영/APM 서버 구축] - phpmyadmin 설치 - APT 패키지 관리자를 통한 설치

2019/06/18 - [서버 운영/APM 서버 구축] - APT 패키지 관리자를 통해 설치한 phpMyAdmin 업그레이드 방법(업그레이드 버전 4.9.0.1)

2019/07/01 - [서버 운영/APM 서버 구축] - phpMyAdmin 수동 설치 01 - 일반 설치

2019/07/03 - [서버 운영/APM 서버 구축] - phpMyAdmin 수동 설치 02 - 심볼릭 링크를 이용한 보안 접속

2019/06/16 - [서버 운영/APM 서버 구축] - phpMyAdmin 4.6.6deb5와 PHP 7.2 간 호환성 문제 해결 - Warning in ./libraries/sql.lib.php#613

 

XAMPP 설치 및 운용

2019/04/20 - [서버 운영/서버 구축 꾸러미] - XAMPP에 대하여(버전 7.1.28 / 7.2.17 / 7.3.4)

2019/04/22 - [서버 운영/서버 구축 꾸러미] - XAMPP for Windows 7.3.4 인스톨러 설치

2019/04/25 - [서버 운영/서버 구축 꾸러미] - XAMPP for Windows 설정

2019/06/03 - [서버 운영/서버 구축 꾸러미] - XAMPP 포터블(portable) 사용법

2019/06/05 - [서버 운영/서버 구축 꾸러미] - XAMPP for Linux 4.3.5 설치 및 사용법

 

서버 운영을 위한 관련 연재글

2018/11/07 - [리눅스/Ubuntu] - 방화벽 설정 - ufw

2018/11/12 - [서버 운영/버추얼박스(VirtualBox)] - 가상머신(Virtualbox) 내 서버 외부접속

2019/01/05 - [미디어위키/미디어위키 설치 및 관리] - 호스트 컴퓨터에서 가상머신 내 미디어위키 접속 및 작업을 위한 버추얼박스 포트포워딩 설정

2019/03/15 - [서버 운영/APM 서버 구축] - PHP 7.3으로의 업그레이드 및 사용 연기 권장 안내 - PHP Notice: compact(): Undefined variable:

 

 

envvars 파일에 대한 개략적인 설명

apache2ctl의 기본 환경 변수를 설정하는 파일입니다.

수정 전 원문의 경우 Apache 2의 지시어가 사용되지 않습니다.

 

envvars 원문

 

2020/09/30 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 목록

2020/10/05 - [서버 운영/APM 서버 구축] - 우분투 20.04 APM 서버 주요 환경 파일 원문 - Apache2

 

지시어 사용 안내 설명 주석 제거 후 원문

# envvars - default environment variables for apache2ctl


unset HOME


if [ "$" != "$" ] ; then
    SUFFIX="-$"
else
    SUFFIX=
fi


export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data


export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX


export LANG=C


#. /etc/default/locale


export LANG


#export APACHE_LYNX='www-browser -dump'


#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'


#export APACHE_ARGUMENTS=''


#export APACHE2_MAINTSCRIPT_DEBUG=1

 


 

 

Apache2 기본 환경 변수 구성 파일

apache2ctl을 위한 기본 환경 변수 구성 파일입니다.

이 문서에 사용된 unset, export는 Apache2에서 사용하는 지시어가 아니라 리눅스 Shell의 내장 명령어입니다.

 

unset HOME

unset HOME은 사용자 홈 디렉토리를 참조하는 $HOME 변수의 내용을 삭제합니다.

uid가 변경된 후에는 올바르게 작동하지 않습니다.

 


 

if [ "$" != "$" ] ; then
    SUFFIX="-$"
else
    SUFFIX=
fi

여러 apache2 인스턴스 지원에 필요한 변숫값의 접미사 부분을 설정하는 셸스크립트 구문입니다.

APACHE_CONFDIR는 Apache 환경설정 파일이 위치한 디렉터리를 지정하는 변수입니다.

if - else 조건문이 존재합니다.

위 조건에 대하여 참(true)인 경우 즉 위 조건을 충족하는 경우(나머지 부분이 APACHE_CONFDIR 변숫값과 불일치하는 경우)  위 조건에 나온 나머지 부분에 -를 붙인 문자열을 SUFFIX 변숫값으로 지정합니다.

반대로 위 조건에 대하여 거짓(false)인 경우 즉 위 조건을 충족하지 않는 경우(나머지 부분이 APACHE_CONFDIR 변숫값과 일치하는 경우)  SUFFIX 변숫값을 지정하지 않습니다. 이것을 NULL값을 가진다고 합니다.

 


 

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

Apache의 실행 권한이 있는 사용자와 그룹을 설정하여 적용합니다.

 

export는 해당 셸과 자식 셸에 지정한 환경 변수를 적용하는 명령입니다.

2019/11/24 - [리눅스/Ubuntu] - 리눅스(Linux) 환경 변수 $PATH 설정 방법

export에 대한 자세한 설명은 아래 링크를 참고하시기 바랍니다.

 

APACHE_RUN_USER : Apache의 실행 사용자

APACHE_RUN_GROUP : Apache의 실행 그룹

스크립트에서 구문 분석된 apache2 구성을 얻는 올바른 방법이 없기 때문에 일부 설정은 위와 같이 환경 변수를 설정해줍니다.

이렇게 정의된 변숫값은 apache2ctl, /etc/init.d/apache2, /etc/logrotate.d/apache2 등에서 사용됩니다.

 


 

export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX

세 종류의 임시 상태 파일 위치 변수를 설정합니다.

APACHE_PID_FILE : Apache의 PID 파일

APACHE_RUN_DIR : Apache의 동작 디렉터리

APACHE_LOCK_DIR : Apache의 LOCK 디렉터리

 


 

export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

/var/log/apache2만 /etc/logrotate.d/apache2에서 처리됩니다.

 

APACHE_LOG_DIR : Apache의 log 디렉터리

 


 

export LANG=C

mod_dav 같은 일부 모듈은 locale설정을 사용합니다.

 

리눅스 커널의 개발 언어는 C언어입니다. 이 C언어에서 로케일 이름 C는 C언어 변환을 위한 최소한의 환경을 지정합니다. 최소 환경을 가지는 경우 안정적인 수행이 가능합니다.

 

재미있는 읽을 거리

리눅스 커널은 왜 C언어로 작성되었나?

https://wingcruz.tistory.com/90

리누즈 토발즈의 괴팍한 성격 내지는 고집을 엿볼 수 있는 일화입니다.

 


 

#. /etc/default/locale

시스템 기본 로케일을 대신 사용하려면 위 행의 주석 처리를 제거하시기 바랍니다.

 


 

 

export LANG

 


 

#export APACHE_LYNX='www-browser -dump'

'apache2ctl status'의 상태를 가져 오는 명령입니다.

'www-browser'를 제공하는 일부 패키지는 '-dump'대신 '--dump'가 필요하다고 안내하고 있는데 그런 경우는 거의 드물 겁니다.

 


 

#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'

더 높은 파일 설명자 제한이 필요한 경우 위 줄에서 주석을 제거하고 숫자를 조정합니다

기본값은 8192입니다.

 


 

#export APACHE_ARGUMENTS=''

웹 서버에 인수를 전달하려면 위 줄에서 주석을 제거하고 APACHE_ARGUMENTS 환경에 추가하십시오.

 


 

#export APACHE2_MAINTSCRIPT_DEBUG=1

관리자 스크립트에 대한 디버그 모드를 활성화합니다.

위 구문의 주석을 제거하고 활성화하면 Apache와 상호 작용하는 웹 서버 모듈 및 웹 애플리케이션의 패키지 설치에 대한 자세한 정보를 출력합니다.