프로덕션 LAMP 서버를 올바르게 설정하고 보호하는 방법 같습니다. <VirtualHost example.com>

이 주제에 대한 포괄적 인 정보를 찾기는 매우 어렵습니다. “apt-get install apache2″처럼 간단하게 설치를 수행하는 방법에 대한 간단한 자습서 또는 오래된 자습서를 찾았습니다. 그래서 우분투 커뮤니티의 동료들로부터 전문적인 정보를 얻을 수 있기를 바랍니다.

시스템 설치를 통해 LAMP, SAMBA 및 SSH가 설치된 일반적인 Ubuntu Server 11.04를 수행했습니다. 그러나 가상 호스트를 설정하고 서버를 웹에 노출시킬 정도로 시스템을 안전하게 만드는 데 문제가 있습니다.

나는 지금 까지이 튜토리얼을 다소 따랐다 .

/ etc / apache2 / sites-available에 3 개의 사이트가 있는데 다른 사이트 이름을 제외한 모든 사이트 는 다음과 같습니다.

<VirtualHost example.com>
   ServerAdmin webmaster@localhost
   ServerAlias www.edunder.se
   DocumentRoot /var/www/sites/example
   CustomLog /var/log/apache2/www.example.com-access.log combined
</VirtualHost>

그리고 나는 a2ensite 명령으로 그것들을 활성화 시켰 으므로 / etc / apache2 / sites-enabled에 심볼릭 링크가 있습니다 .

/ etc / hosts 파일에는 다음 줄이 있습니다.

127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com

그리고 브라우저에서만 그 중 하나에 액세스 할 수 있습니다 ( 테스트 목적으로 서버에 lynx가 설치되어 있습니다). 그래서 제대로 설정하지 않은 것 같습니다 🙂

안전하고 적절한 설정을하려면 어떻게해야합니까? 나는 또한 MySQL을 사용하고 있으며이 자습서 는 SSH를 안전하게 설정하기에 충분 하다고 생각합니다 . 내 서버를 처음 설정했기 때문에 Apache 구성을 더 잘 이해하도록 도와주십시오 (이전에는 XAMPP 만 실행했습니다). 방화벽 설정 방법에 대해서도 알려주십시오.



답변

IP 기반이 아닌 이름 기반 가상 호스팅을 사용해야한다고 Apache에 알려야합니다. 따라서 /etc/apache2/apache2.conf에 다음을 추가하여 정의하십시오.

NameVirtualHost ip.address:port

그리고 각 가상 호스트는 포트를 정의해야합니다.

<VirtualHost example.com:80>


답변

다른 컴퓨터를 연결하려면 공용 IP도 추가해야한다고 생각합니다. 현재 루프백 만 / etc / hosts에 언급되어 있습니다. 다른 IP도 포함해야합니다.


답변