서버 설정 · 4 min read · Oct 25, 2025

완벽한 우분투 데스크탑을 실행하면서 나만의 (Chrooted) 데비안 LAMP 서버 갖기

완벽한 우분투 데스크탑을 실행하면서 나만의 (Chrooted) 데비안 LAMP 서버 갖기

이 문서는 우분투 7.04에서 chrooted로 실행될 데비안 기반 웹 서버(데비안 사르지 별칭 데비안 3.1)를 설정하기 위한 단계에 대한 간단한 설명입니다.

저는 완벽한 우분투 7.04 데스크탑을 설정하는 방법에 대한 Falko의 훌륭한 가이드를 따랐습니다:

https://www.howtoforge.com/the_perfect_desktop_ubuntu7.04

하지만 저에게 완벽한 데스크탑을 만들기 위해서는 한두 가지를 추가해야 합니다. 첫째로, AVG를 추가할 것입니다. 왜냐하면 파일과 데이터를 다른 PC로 옮길 수 있기 때문에 바이러스를 전파하지 않도록 하고 싶기 때문입니다. 이를 위해 Falko의 또 다른 훌륭한 가이드를 따를 것입니다:

https://www.howtoforge.com/avg_antivirus_ubuntu_feisty

그 다음, 최종 업로드하기 전에 테스트할 수 있도록 ISP와 유사한 웹 서버를 설치해야 합니다. 저는 ADSL을 통해 인터넷에 연결하고 있기 때문에 자체 웹 서버를 운영하지 않습니다. 다운로드 속도는 최대 8M일 수 있지만, 업로드 속도는 256K에 불과합니다. 이는 제 사이트 방문자들이 경험할 수 있는 속도이며, 이는 지역 교환기의 트래픽에 따라 달라집니다.

저는 제 웹페이지가 ISP의 T1 연결에서 제공하는 대역폭의 모든 혜택을 누릴 수 있도록 원격으로 호스팅하고 있습니다.

이것은 제가 그곳에 가기 전에 모든 것을 철저히 테스트할 수 없다는 것을 의미하지 않으며, 그래서 제 LAMP 서버에는 다음이 포함되어야 합니다:

  • Apache 1.3.33 (Debian GNU/Linux)
  • PHP/4.3.10-19
  • mysql 4.0.24.
  • phpmyadmin

이러한 오래된 버전의 Apache, PHP 및 mysql은 더 이상 우분투에서 설치할 수 없으며, 데비안 사르지에서만 설치할 수 있습니다. 따라서 이를 기본 플랫폼으로 실행하는 대신, 우분투 데스크탑 위에 최소 시스템으로 설치하고 chroot를 통해 데비안 프로그램을 실행할 것입니다.

당신도 이것을 하고 있고 이미 apache 또는 mysql을 설치했다면, sarge apache/mysql을 설치하거나 실행하는 동안 이들이 실행되지 않도록 해야 합니다. 이는 sarge apache와 mysql이 각각의 리슨 포트에 바인딩하는 데 실패하기 때문입니다.

먼저 debootstrap을 설치해야 합니다. 우리는 이를 사용하여 최소 시스템을 생성할 것입니다. 그런 다음 데비안 사르지를 다운로드하고 설치할 수 있습니다.

터미널 창을 엽니다:

sudo bash  
apt-get install debootstrap  
mkdir sarge-dir

이제 가장 가까운 데비안 미러를 찾아서 이를 사용하여 데비안 시스템을 다운로드하고 설치해야 합니다. http://www.debian.org/mirror/list/로 가서 적절한 미러 주소를 찾은 후:

debootstrap sarge sarge-dir http://ftp.uk.debian.org/debian

저는 영국의 미러를 사용하고 있지만, 필요에 따라 uk 부분을 변경할 수 있습니다. 몇 분 후에 다운로드 및 설치가 완료되어야 하며, 다음을 수행해야 합니다:

mount -o bind /proc sarge-dir/proc

이것은 chroot에서 proc 파일 시스템을 사용할 수 있게 합니다. Proc 의사 파일 시스템은 머신에서 실행 중인 프로세스와 시스템 상태를 추적하는 실시간 메모리 상주 파일 시스템입니다.

이제부터 새 시스템을 사용하는 것은 다음과 같이 간단합니다:

chroot sarge-dir

이 명령은 당신을 chroot로 이동시키며, 새로 설치된 sarge 시스템 내의 파일을 수정할 수 있습니다.

이 시점에서 원하신다면 Falko의 또 다른 훌륭한 가이드를 따를 수 있습니다:

https://www.howtoforge.com/perfect_setup_debian_sarge

네트워킹 섹션 이후에 튜토리얼을 시작하세요. 그 튜토리얼에서는 메일 서버가 시작 시 설치되기 때문에 제대로 설치하려면 추가 작업이 필요하지만, 이는 다른 사람이 세부 정보를 제공해야 할 부분입니다.

저는 다른 버전의 apache가 필요하고 다른 모든 설정이 필요하지 않기 때문에 그렇게 하지 않을 것입니다. 그래서 sources.list를 편집하고 파일 시스템을 업데이트할 것입니다.

echo deb http://ftp.uk.debian.org/debian/ sarge main > /etc/apt/sources.list  
echo deb http://security.debian.org/ sarge/updates main >> /etc/apt/sources.list  
apt-get update  
apt-get upgrade

이제 제가 필요한 프로그램을 설치할 시간입니다:

apt-get install apache php4 mysql-server phpmyadmin

suExec를 활성화하시겠습니까? <– 예
MySQL은 NON-NUMERIC 호스트 이름이 있어야만 설치됩니다… <– 알겠습니다
어떤 웹 서버를 자동으로 재구성하시겠습니까? <— apache
지금 apache를 재시작하시겠습니까? <– 예

로케일이 구성되지 않았다는 오류 메시지가 나타날 수 있습니다:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “en_GB.UTF-8

are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

이는 debootstrap 설치 방법이 로케일을 설치하지 않았기 때문일 수 있습니다.

apt-get install locales localeconf

생성할 로케일을 선택합니다.
[] en_GB ISO-8859-1
[
] en_GB.ISO-8859-15 ISO-8859-15
[*] en_GB.UTF-8 UTF-8
<– 알겠습니다

시스템 환경에서 기본으로 사용할 로케일은 무엇입니까? <– en_GB
debconf로 로케일 구성 파일을 관리하시겠습니까? <– 예
기본 시스템 로케일을 사용하고 싶지 않다면… <– 알겠습니다
기본 로케일을 재정의해야 하는 환경 설정: <– 비어 있음
기존 로케일 구성 파일을 교체하시겠습니까? <– 예
확실하지 않다면… 항상 지원됩니다. <– 알겠습니다
기본 시스템 로케일: <– en_GB.UTF-8 UTF-8

이제 현재 우분투 사용자와 동일한 sarge 사용자를 생성할 것입니다. 이는 우분투에서 웹페이지를 편집할 때 권한 문제를 피할 수 있게 해줍니다.

adduser user_name_in_ubuntu

Apache 구성 파일은 여전히 /etc/apache/httpd.conf에 위치하지만, sarge-dir에서 참조되며, 웹 폴더 /var/www에도 동일하게 적용됩니다. 우분투 데스크탑에서 웹페이지를 편집할 때는 먼저 sarge-dir로 가서 /var/www를 찾아야 합니다. 우분투에서 웹페이지를 편집할 때도 마찬가지로 sarge-dir로 가서 /var/www를 찾아야 합니다.

이제 설치를 확인하겠습니다.

apache와 php 설치는 /var/www 폴더에 phpinfo() 명령이 포함된 phpinfo 파일을 생성하여 함께 수행할 수 있습니다. 여전히 chroot 상태입니다.

nano /var/www/phpinfo.php

이 파일에 다음을 입력해야 합니다:

브라우저를 http://localhost/phpinfo.php로 열면 전체 apache 구성 및 기본 설정이 표시되어야 합니다.

mysql의 구성 파일은 /etc/mysql/my.cnf에 위치하며, 다시 sarge-dir에서 참조됩니다. 이 시점에서 Root 비밀번호를 설정하는 것도 좋습니다. 여전히 chroot 상태에서:

mysql -u root

mysql 명령 프롬프트로 이동한 후:

mysql> USE mysql;  
mysql> UPDATE user SET Password=PASSWORD('your-password') WHERE user='root';  
mysql> FLUSH PRIVILEGES;

phpmyadmin 구성 파일은 /etc/phpmyadmin/config.inc.php에 위치합니다.

매번 phpmyadmin 콘솔에 로그인할 필요 없이 mysql 비밀번호를 추가할 수 있습니다.

Apache를 재시작해야 하거나 apache가 시작 시 자동으로 시작되지 않는 경우, 먼저 sarge로 chroot한 후 apache를 재시작해야 합니다.

sudo bash  
chroot sarge-dir  
/etc/init.d/httpd restart
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.