벤자민의 블로그 2기 시작
2023년 6월 13일 갑작스러운 부친상을 격고나서 무언가를 한다라는 것에서 거의 손을 대지 않고 있었네요. 슬프다거나 그런 감정보다는 그냥 무언가 빠져버린
테스트 서버 구축을 위한 것이기 때문에 기본 레포지토리에 있는것을 이용하여 설치한다.
설치전
init.d 에 있는 daemon들의 목록을 확인해본다.
root@k5w1hcd-155105:/etc/init.d# ll
total 140
drwxr-xr-x 2 root root 4096 Dec 31 06:27 ./
drwxr-xr-x 92 root root 4096 Dec 31 06:34 ../
-rwxr-xr-x 1 root root 3740 Apr 1 2020 apparmor*
-rwxr-xr-x 1 root root 2964 Dec 7 2019 apport*
-rwxr-xr-x 1 root root 1071 Jul 24 2018 atd*
-rwxr-xr-x 1 root root 1232 Mar 27 2020 console-setup.sh*
-rwxr-xr-x 1 root root 3059 Feb 11 2020 cron*
-rwxr-xr-x 1 root root 937 Feb 4 2020 cryptdisks*
-rwxr-xr-x 1 root root 896 Feb 4 2020 cryptdisks-early*
-rwxr-xr-x 1 root root 3152 Sep 30 2019 dbus*
-rwxr-xr-x 1 root root 985 Apr 15 2020 grub-common*
-rwxr-xr-x 1 root root 3809 Jul 29 2019 hwclock.sh*
-rwxr-xr-x 1 root root 2638 Dec 14 2019 irqbalance*
-rwxr-xr-x 1 root root 1503 Apr 2 2019 iscsid*
-rwxr-xr-x 1 root root 1479 Nov 27 2019 keyboard-setup.sh*
-rwxr-xr-x 1 root root 2044 Feb 19 2020 kmod*
-rwxr-xr-x 1 root root 695 Jan 28 2020 lvm2*
-rwxr-xr-x 1 root root 586 Jan 28 2020 lvm2-lvmpolld*
-rwxr-xr-x 1 root root 2827 Jan 10 2020 multipath-tools*
-rwxr-xr-x 1 root root 1364 Sep 14 2019 netfilter-persistent*
-rwxr-xr-x 1 root root 2503 Apr 2 2019 open-iscsi*
-rwxr-xr-x 1 root root 1846 Mar 10 2020 open-vm-tools*
-rwxr-xr-x 1 root root 1366 Mar 23 2020 plymouth*
-rwxr-xr-x 1 root root 752 Mar 23 2020 plymouth-log*
-rwxr-xr-x 1 root root 924 Feb 14 2020 procps*
-rwxr-xr-x 1 root root 4417 Oct 15 2019 rsync*
-rwxr-xr-x 1 root root 2864 Mar 7 2019 rsyslog*
-rwxr-xr-x 1 root root 1222 Apr 3 2017 screen-cleanup*
-rwxr-xr-x 1 root root 3939 Feb 26 2020 ssh*
-rwxr-xr-x 1 root root 6872 Apr 22 2020 udev*
-rwxr-xr-x 1 root root 2083 Jan 22 2020 ufw*
-rwxr-xr-x 1 root root 1391 Apr 14 2020 unattended-upgrades*
-rwxr-xr-x 1 root root 1306 Apr 3 2020 uuidd*
root@k5w1hcd-155105:/etc/init.d#
systemctl status 명령으로 현재 동작여부도 확인해본다.
root@k5w1hcd-155105:/etc/init.d# systemctl status
● k5w1hcd-155105
State: running
Jobs: 0 queued
Failed: 0 units
Since: Wed 2021-12-29 23:31:28 KST; 2 weeks 0 days ago
CGroup: /
├─user.slice
│ └─user-0.slice
│ ├─session-408.scope
│ │ ├─286317 sshd: root@notty
│ │ └─286511 /usr/lib/openssh/sftp-server
│ ├─session-406.scope
│ │ ├─286315 sshd: root@pts/0
│ │ ├─286516 -bash
│ │ ├─286519 bash -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file->
│ │ ├─290640 sleep 1
│ │ ├─290641 systemctl status
│ │ └─290642 pager
│ └─user@0.service …
│ └─init.scope
│ ├─286334 /lib/systemd/systemd --user
│ └─286335 (sd-pam)
├─init.scope
│ ├─ 1 /lib/systemd/systemd --system --deserialize 32
│ └─543 bpfilter_umh
└─system.slice
├─irqbalance.service
│ └─705 /usr/sbin/irqbalance --foreground
├─packagekit.service
│ └─288728 /usr/lib/packagekit/packagekitd
├─systemd-networkd.service
│ └─120896 /lib/systemd/systemd-networkd
├─systemd-udevd.service
│ └─114375 /lib/systemd/systemd-udevd
├─cron.service
│ └─693 /usr/sbin/cron -f
├─system-serial\x2dgetty.slice
│ └─serial-getty@ttyS0.service
│ └─775 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyS0 vt220
├─polkit.service
│ └─155881 /usr/lib/policykit-1/polkitd --no-debug
├─networkd-dispatcher.service
│ └─706 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
├─multipathd.service
│ └─501 /sbin/multipathd -d -s
├─accounts-daemon.service
│ └─129171 /usr/lib/accountsservice/accounts-daemon
├─systemd-journald.service
│ └─120922 /lib/systemd/systemd-journald
├─atd.service
│ └─732 /usr/sbin/atd -f
├─unattended-upgrades.service
│ └─839 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
├─ssh.service
│ └─130082 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
├─fwupd.service
│ └─287035 /usr/libexec/fwupd/fwupd
├─snapd.service
│ └─112215 /usr/lib/snapd/snapd
├─rsyslog.service
│ └─709 /usr/sbin/rsyslogd -n -iNONE
├─systemd-resolved.service
│ └─120916 /lib/systemd/systemd-resolved
├─dbus.service
│ └─695 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
├─systemd-timesyncd.service
│ └─121015 /lib/systemd/systemd-timesyncd
├─system-getty.slice
│ └─getty@tty1.service
│ └─783 /sbin/agetty -o -p -- \u --noclear tty1 linux
└─systemd-logind.service
└─727 /lib/systemd/systemd-logind
root@k5w1hcd-155105:/etc/init.d#
apt-get 을 이용하여 설치한다.
$ sudo apt-get update
$ sudo apt-get install apache2
설치후 확인을 해보면 apache2 가 있는 것을 확인할 수 있다.
root@k5w1hcd-155105:/etc/init.d# ll /etc/init.d/
total 152
drwxr-xr-x 2 root root 4096 Jan 13 13:40 ./
drwxr-xr-x 93 root root 4096 Jan 13 13:40 ../
-rwxr-xr-x 1 root root 2489 Oct 1 2020 apache-htcacheclean*
-rwxr-xr-x 1 root root 8181 Oct 1 2020 apache2*
-rwxr-xr-x 1 root root 3740 Apr 1 2020 apparmor*
-rwxr-xr-x 1 root root 2964 Dec 7 2019 apport*
-rwxr-xr-x 1 root root 1071 Jul 24 2018 atd*
-rwxr-xr-x 1 root root 1232 Mar 27 2020 console-setup.sh*
-rwxr-xr-x 1 root root 3059 Feb 11 2020 cron*
-rwxr-xr-x 1 root root 937 Feb 4 2020 cryptdisks*
-rwxr-xr-x 1 root root 896 Feb 4 2020 cryptdisks-early*
-rwxr-xr-x 1 root root 3152 Sep 30 2019 dbus*
-rwxr-xr-x 1 root root 985 Apr 15 2020 grub-common*
-rwxr-xr-x 1 root root 3809 Jul 29 2019 hwclock.sh*
-rwxr-xr-x 1 root root 2638 Dec 14 2019 irqbalance*
-rwxr-xr-x 1 root root 1503 Apr 2 2019 iscsid*
-rwxr-xr-x 1 root root 1479 Nov 27 2019 keyboard-setup.sh*
-rwxr-xr-x 1 root root 2044 Feb 19 2020 kmod*
-rwxr-xr-x 1 root root 695 Jan 28 2020 lvm2*
-rwxr-xr-x 1 root root 586 Jan 28 2020 lvm2-lvmpolld*
-rwxr-xr-x 1 root root 2827 Jan 10 2020 multipath-tools*
-rwxr-xr-x 1 root root 1364 Sep 14 2019 netfilter-persistent*
-rwxr-xr-x 1 root root 2503 Apr 2 2019 open-iscsi*
-rwxr-xr-x 1 root root 1846 Mar 10 2020 open-vm-tools*
-rwxr-xr-x 1 root root 1366 Mar 23 2020 plymouth*
-rwxr-xr-x 1 root root 752 Mar 23 2020 plymouth-log*
-rwxr-xr-x 1 root root 924 Feb 14 2020 procps*
-rwxr-xr-x 1 root root 4417 Oct 15 2019 rsync*
-rwxr-xr-x 1 root root 2864 Mar 7 2019 rsyslog*
-rwxr-xr-x 1 root root 1222 Apr 3 2017 screen-cleanup*
-rwxr-xr-x 1 root root 3939 Feb 26 2020 ssh*
-rwxr-xr-x 1 root root 6872 Apr 22 2020 udev*
-rwxr-xr-x 1 root root 2083 Jan 22 2020 ufw*
-rwxr-xr-x 1 root root 1391 Apr 14 2020 unattended-upgrades*
-rwxr-xr-x 1 root root 1306 Apr 3 2020 uuidd*
root@k5w1hcd-155105:/etc/init.d#
$ sudo service apache2 start
또는
sudo systemctl start apache2
실행 여부를 확인해보면
root@k5w1hcd-155105:~# ps aux | grep apache2
root 292093 0.0 0.2 6672 4780 ? Ss 13:40 0:00 /usr/sbin/apache2 -k start
www-data 292096 0.0 0.2 1211560 4452 ? Sl 13:40 0:00 /usr/sbin/apache2 -k start
www-data 292097 0.0 0.2 1211560 4452 ? Sl 13:40 0:00 /usr/sbin/apache2 -k start
root 294053 0.0 0.0 8160 736 pts/0 S+ 13:44 0:00 grep --color=auto apache2
root@k5w1hcd-155105:~#
또는
root@k5w1hcd-155105:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-01-13 13:40:36 KST; 6min ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 292093 (apache2)
Tasks: 55 (limit: 2344)
Memory: 5.8M
CGroup: /system.slice/apache2.service
├─292093 /usr/sbin/apache2 -k start
├─292096 /usr/sbin/apache2 -k start
└─292097 /usr/sbin/apache2 -k start
Jan 13 13:40:36 k5w1hcd-155105 systemd[1]: Starting The Apache HTTP Server...
Jan 13 13:40:36 k5w1hcd-155105 apachectl[292086]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.6.2.160. Set the 'ServerName' dire>
Jan 13 13:40:36 k5w1hcd-155105 systemd[1]: Started The Apache HTTP Server.
root@k5w1hcd-155105:~#
/etc/apache2
config 파일 위치로, config 파일들이 이 디렉토리 밑에 위치하고 있다.
/etc/apache2/apache2.conf
기본 config 파일로, 다른 리눅스 배포판에서는 httpd.conf
를 config 파일로 사용하고 있지만 우분투에서는 apache2.conf
를 사용한다.
/etc/apache2/conf.d
고급 config 파일로, 다른 리눅스 배포판에서 httpd.conf
파일 하나에 설정되어 있던 문자셋과 에러메시지, 보안과 관련된 설정을 따로 따로 분리하여 conf.d
디렉토리밑에서 설정하고 있다. 또한 사용자가 설치하게 되는 Apache와 관련된 애플리케이션들의 설정파일들도 위치하게 된다.
/etc/apache2/envvars
apache2ctl 환경설정 파일이다.
/etc/apache2/httpd.conf
사용자의 특정 설정 파일로, 역사적으로 httpd.conf
가 config 파일이였는데 지금은 빈파일이다. 사용자가 특정 설정을 부여해서 사용할 수 잇다.
/etc/apache2/magic
파일의 시작값(magic number) 데이터베이스. 이 값에 기반해 전송하는 파일의 MIME Type을 결정한다. 가급적 수정하지 말 것.
/etc/apache2/mods-available
사용가능한 Apache 모듈을 불러오는 곳이다.
/etc/apache2/mods-enabled
위의 /etc/apache2/mods-available 의 모듈중에 사용할 모듈을 심볼릭 링크로 추가하여 실제 동작하게 만든다.
/etc/apache2/ports.conf
Apache 서버의 서비스 포트 설정으로 http의 기본값 80 과 https의 기본값 443, 가상호스트의 포트들을 설정할 수 있다.
/etc/apache2/sites-available
서버에서 운영할 사이트의 설정파일이다.
/etc/apache2/sites-enabled
위의 /etc/apache2/sites-available에서 설정한 파일을 심볼릭 링크로 추가하여 실제 운영에 사용할 설정파일들이다.