웹사이트 검색

Gentoo Linux에 LAMP(Linux, Apache, MySQL, PHP 및 PhpMyAdmin) 설치


오늘날 하드웨어의 전력 처리를 기준으로 삼는다면 Gentoo를 사용하여 소스에서 소프트웨어를 컴파일하여 달성한 최대 성능은 최소한의 영향을 미칩니다. 그렇다면 Gentoo를 웹 서버 플랫폼으로 사용하는 목적은 무엇입니까? 음, Gentoo가 갖는 가장 중요한 속성은 Portage가 특정 작업을 전달할 수 있는 극도의 유연성과 최종 사용자가 전체 시스템에 대해 얻을 수 있는 완전한 제어입니다. 소스에서 빌드하며 대부분의 Linux 배포판처럼 사전 패키지된 바이너리를 사용하지 않습니다.

이 가이드는 유명한 LAMP 스택(Linux, Apache, MySQLPHP/PhpMyAdmin) 최소 젠투 설치 환경을 사용합니다.

요구사항

  1. 이 튜토리얼과 같이 설치된 최소 Gentoo Linux 환경(Gentoo Linux 설치)

1단계: 고정 IP 주소 구성

1. LAMP 스택 설치를 진행하기 전에 서버의 경우 "필수"인 고정 IP 주소로 시스템을 구성해야 합니다. 그러나 네트워크 정적 설정 구성을 시작하기 전에 ifconfig 명령을 사용하여 네트워크 인터페이스 카드 이름을 표시하십시오.

ifconfig -a

보시다시피 NIC의 이름은 ethX, ensXX 등 Linux에서 사용되는 다른 일반적인 이름과 다를 수 있으므로 추가 설정을 위해 이 이름을 기록해 두십시오.

2. 이전에 네트워크에 DHCP 서버를 사용한 경우 다음 명령을 사용하여 시스템에서 DHCP 클라이언트를 해제하고 비활성화했는지 확인하세요. (IP 및 장치를 설정으로 바꾸십시오).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. 그런 다음 NIC의 연결된 인터페이스 이름을 사용하여 네트워크 루프백 장치에서 심볼릭 링크를 만들고 /etc/conf.d/에 이 장치에 대한 정적 구성 파일을 만듭니다. 길.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

다음 구성으로 이 장치 파일을 편집합니다.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. NIC의 정적 구성 편집을 마친 후 네트워크 인터페이스를 시작하고 ifconfigping 명령을 사용하여 네트워크 설정 및 연결을 확인하고 모든 것이 성공적으로 구성되었는지 확인합니다. 프로세스를 시작하려면 추가하세요.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

DNS 이름 서버를 시스템 전체에 구성하려면 /etc/resolv.conf 파일을 편집하고 모든 DNS IP 주소에 대해 이름 서버 문자열을 추가하세요.

2단계: 램프 설치

5. 네트워크 설정을 마친 후 LAMP 스택 설치를 진행하세요. 단, 젠투 프로필을 확인하고 포티지 트리와 시스템을 업데이트하기 전에는 진행하지 마세요.

보안 패치가 있는 인터넷 연결 서버의 경우 전체 시스템(마스크, USE 플래그 등)의 패키지 설정을 변경하는 강화 프로필을 사용하고 싶을 것입니다. 프로필을 나열하고 변경하려면 다음 명령을 사용하십시오.

sudo eselect profile list
sudo eselect profile set 11

6. 자신에게 가장 적합한 프로필을 설정한 후 시스템과 포티지 트리를 업데이트하세요.

sudo emerge --sync
sudo emerge --update @world

7. 이제 LAMP 설치를 진행할 차례입니다. emerge –pv 명령 스위치를 사용하여 USE 플래그에 대한 Apache 웹 서버 문서를 확인한 다음, 시도하기 전에 필요한 USE 플래그로 포티지 make.conf 파일을 편집하십시오. 그것을 설치하십시오.

emerge -pv apache
nano /etc/portage/make.conf

8. 컴파일 프로세스를 위해 USE 플래그를 선택한 후(서버에 특정 모듈이 필요하지 않은 경우 그대로 둘 수 있음) 다음 명령을 사용하여 Apache를 설치합니다.

emerge --ask www-servers/apache

9. Apache 서비스를 시작하기 전에 다음 명령을 실행하여 ServerName 오류를 방지한 다음 httpd 데몬을 시작하세요.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. 다음 단계에서는 PHP 동적 스크립트 언어를 설치합니다. PHP 모듈이 풍부하기 때문에 이 튜토리얼에서는 USE 플래그로 사용되는 대규모 모듈 목록을 제공하지만 서버 구성에 필요한 모듈만 사용해야 합니다.

먼저 아래 명령을 사용하여 PHP에 대한 특정 플래그를 USE 얻으세요.

emerge -pv php

11. 그런 다음 /etc/portage/make.conf 파일을 편집하고 PHP5.5USE 플래그를 사용하십시오. > (USE 플래그는 한 줄에 있어야 합니다).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

사용할 수 있는 또 다른 방법은 USE 플래그를 에코하여 원하는 PHP 모듈과 옵션을 /etc/portage/package.use 파일에 포함시키는 것입니다.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. 제시된 두 가지 방법 중 하나를 사용하여 필수 USE 플래그를 선택한 후 다음 명령을 사용하여 PHP를 설치하십시오.

emerge --ask dev-lang/php

13. PHP 신흥 프로세스는 시스템 리소스에 따라 다소 시간이 걸릴 수 있으며, 완료 후 /etc/conf.d/apache2 파일을 편집하여 Apache에 PHP 모듈을 사용하도록 지시하고 APACHE2_OPTS 지시문에 PHP5를 추가합니다.

nano /etc/conf.d/apache2

APACHE2_OPTS 줄을 다음과 같이 만드세요.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

설치된 모듈 목록을 얻으려면 다음 명령을 사용하십시오.

ls -al /etc/apache2/modules.d/

14. 지금까지 서버 구성을 테스트하려면 localhost 루트 디렉토리(/var/www/localhost/htdocs/)에 phpinfo 파일을 생성하고 Apache 서비스를 다시 시작한 다음 브라우저에서 http://localhost/info.php 또는 http://system_IP/info.php를 지정하세요.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

위 이미지와 동일한 결과가 나타나면 서버가 올바르게 구성된 것입니다. 따라서 MySQL 데이터베이스와 PhpMyAdmin 설치를 진행할 수 있습니다.

15. MySQL 데이터베이스를 설치하기 전에 패키지 USE 플래그를 확인하고 필요한 경우 Portage make.conf를 편집하세요. MySQL 서버 데이터베이스를 확인하고 설치하려면 다음 명령을 사용하십시오.

emerge -pv mysql
emerge --ask dev-db/mysql

16. MySQL 서버를 시작하기 전에 다음 명령을 사용하여 MySQL 데이터베이스가 시스템에 설치되어 있는지 확인하십시오.

/usr/bin/mysql_install_db

17. 이제 MySQL 데이터베이스를 시작하고 mysql_secure_installation을 사용하여 루트 비밀번호를 변경하고, 로컬 호스트 외부의 루트 로그인을 비활성화하고, 익명 사용자를 제거하고 데이터베이스를 테스트하여 보안을 유지하세요.

service mysql start
mysql_secure_installation

18. 데이터베이스 기능을 테스트하려면 아래 명령을 실행하여 MySQL에 로그인하고 quit 문을 사용하여 데이터베이스를 종료하세요.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. MySQL 서버를 관리하기 위해 그래픽 인터페이스가 필요한 경우 이 명령을 실행하여 PhpMyAdmin 패키지를 설치하세요.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. 패키지가 컴파일되고 설치된 후 템플릿 파일을 복사하여 PhpMyAdmin용 구성 파일을 생성하고 blowfish_secret 암호를 임의의 문자열로 바꿉니다.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. 브라우저를 열고 다음 URL을 사용하여 PhpMyAdmin 로그인 프로세스를 테스트하세요.

http://localhost/phpmyadmin

22. 모든 것이 준비되면 다음 명령을 사용하여 서비스를 시스템 전체에서 사용할 수 있도록 하여 재부팅 후 서비스를 자동으로 시작하려고 할 수 있습니다.

rc-update -v add apache2 default
rc-update -v add mysql default

그게 다야! 이제 Gentoo가 제공하는 매우 유연하고 사용자 정의 가능한 서버 플랫폼에 Apache, PHP 스크립팅 언어 및 관계형 MySQL 데이터베이스를 갖춘 동적 웹 환경이 있습니다.