웹사이트 검색

OpenSUSE Leap 42.1에 LAMP 스택을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 1단계 - SuSEfirewall2 구성
  3. 2단계 - Apache 설치 및 구성
  4. 3단계 - MariaDB 설치 및 구성
  5. 4단계 - PHP 설치 및 구성
  6. 5단계 - phpMyAdmin 설치 및 구성
  7. 참조

LAMP 스택은 Linux 운영 체제에 함께 설치되어 웹 사이트와 웹 애플리케이션을 실행하는 오픈 소스 소프트웨어 모음입니다. LAMP 또는 - Linux, Apache, MySQL 및 PHP - PHP 및 MySQL(예: Wordpress, Joomla, Drupal 등)을 기반으로 웹 애플리케이션을 호스팅하기 위한 기반을 제공합니다.

이 튜토리얼에서는 OpenSUSE Leap 42.1을 Linux 운영 체제로 사용하여 LAMP 스택을 설치하는 단계를 안내합니다. 서버에 MariaDB 및 PHP와 함께 apache2를 설치합니다. MySQL 관리를 위한 phpMyAdmin 설치와 .htaccess 파일로 phpMyAdmin 보안을 포함하겠습니다.

전제 조건

이 서버에서 IP 주소가 192.168.1.101인 OpenSUSE 립을 사용하겠습니다. 이는 설정과 다를 가능성이 높으므로 발생하는 모든 IP를 자신의 IP로 교체해야 합니다.

  • OpenSUSE Leap 42.1 - 서버.
  • 루트 권한\n

openSUSE 서버에 로그인하고 sudo를 사용하여 루트 권한을 얻습니다.

ssh 
sudo su

1단계 - SuSEfirewall2 구성

SuSEfirewall2는 iptables를 기반으로 하며 "/etc/sysconfig/SuSEfirewall2" 구성 파일에서 iptables 규칙을 생성합니다. 네트워크 공격 및 원치 않는 패킷으로부터 서버를 보호합니다.

이 단계에서는 SuSEfirewall2를 설치한 다음 포트 80에서 웹 액세스를 위해 ssh 서비스 및 apache에 대한 액세스를 허용하도록 구성합니다.

zypper 명령으로 SuSEfirewall2를 설치합니다.

zypper in SuSEfirewall2

vim으로 구성 파일을 편집합니다.

vim /etc/sysconfig/SuSEfirewall2

321행으로 이동하여 모든 사람이 액세스할 수 있도록 서비스를 정의합니다. 지금은 sshd 및 apache2를 정의합니다.

FW_CONFIGURATIONS_EXT="sshd apache2"

그런 다음 SuSEfirewall을 다시 시작하고 sshd 서비스를 다시 시작합니다.

/sbin/rcSuSEfirewall2 restart
systemctl restart sshd

구성을 테스트하려면 telnet을 사용하여 네트워크 외부에서 ssh 서비스 포트에 액세스할 수 있습니다.

telnet 192.168.1.101 22

2단계 - Apache 설치 및 구성

Apache2는 openSUSE 리포지토리에서 사용할 수 있으므로 추가 리포지토리를 추가할 필요가 없습니다. 이 가이드를 계속 진행하고 zypper 명령을 사용하여 apache2를 설치할 수 있습니다.

zypper in apache2

이제 웹 서버 "/srv/www/htdocs/"의 문서 루트 디렉토리로 이동하여 apache2가 작동하는지 테스트할 수 있도록 새 index.html 파일을 만듭니다.

cd /srv/www/htdocs/
echo "<h1>This is Apache OpenSUSE Leap 42.1</h1>" > index.html

다음으로 부팅 시 시작할 Apache 서비스를 추가하고 systemctl로 apache2를 시작합니다.

systemctl enable apache2
systemctl start apache2

이제 웹 브라우저를 열고 여기에서 opnsuse 서버 IP 주소에 액세스하십시오.

3단계 - MariaDB 설치 및 구성

MariaDB는 MySQL에서 분기된 관계형 데이터베이스 관리 시스템입니다. MariaDB는 MySQL(Monty Widenius)의 원래 개발자가 개발했으며 이제 안정적인 버전 10.1을 출시했습니다. MySQL 5.6 및 5.7과 동일한 기능 세트가 있습니다.

이 단계에서는 zypper를 사용하여 MariaDB 및 mariadb-client를 설치한 다음 MariaDB 암호를 구성합니다.

mariadb 및 mariadb-client를 설치합니다.

zypper in mariadb mariadb-client

이제 mariadb 서비스를 시작하고 systemctl을 사용하여 부팅 시 실행할 서비스를 추가합니다.

systemctl start mysql
systemctl enable mysql

이제 아래 명령을 사용하여 thMariaDBdb 루트 비밀번호를 구성하십시오.

mysql_secure_installation

요청 시 원하는 암호를 입력하십시오.

Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y

다음으로 위에서 구성한 암호를 사용하여 MariaDB 서버에 대한 액세스를 테스트합니다.

mysql -u root -p
TYPE YOUR PASSWORD

4단계 - PHP 설치 및 구성

PHP는 웹 개발을 위한 가장 인기 있는 서버측 스크립팅 언어 중 하나이며 HTML 페이지에 포함할 수 있습니다. 이 튜토리얼에서는 PHP 5.5 설치 과정을 안내하고 Apache 웹 서버 및 MySQL 데이터베이스와 함께 작동하도록 구성합니다.

이 자습서에 필요한 php 및 php 확장을 설치합니다. PHP 스크립트가 tMySQLql에 연결하려면 php-mysql 확장 프로그램을 설치해야 하며 phpMyAdmin에는 php-mcrypt 및 php-gd가 필요합니다. 아래 zypper 명령으로 설치하십시오.

zypper in php5 php5-mysql php5-mcrypt apache2-mod_php5 php5-mbstring php-mcrypt php-gd php-json php-zlib

Apache에서 php5 모듈을 활성화하고 Apache 웹 서버를 다시 시작합니다.

a2enmod php5
systemctl restart apache2

참고:

a2enmod extension = 아파치 모듈을 활성화하는 명령.

다음으로 php5 및 apache가 제대로 작동하는지 확인하기 위해 문서 루트 디렉토리 "/srv/www/htdocs/"에 phpinfo 파일을 생성하여 테스트할 수 있습니다.

디렉토리로 이동하여 info.php 파일을 생성합니다.

cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php

이제 브라우저를 열고 서버 IP와 PHP 정보 파일의 경로를 입력하십시오.

thaPHPhp와 apache가 작동하는 것을 볼 수 있고 MySQL 확장 프로그램이 로드된 것을 볼 수 있습니다.

5단계 - phpMyAdmin 설치 및 구성

phpMyAdmin은 웹 브라우저에서 MySQL/MariaDB 데이터베이스를 쉽게 관리할 수 있게 해주는 PHP 기반의 유명한 오픈 소스 소프트웨어입니다. 훌륭한 UI를 제공하며 많은 웹 서버에서 쉽게 구성할 수 있습니다.

이 단계에서는 phpMyAdmin 설치를 다룬 다음 .htaccess 파일로 액세스를 제한하여 보안을 유지하도록 구성합니다.

phpMyAdmin은 openSUSE 리포지토리에서 사용할 수 있으며 zypper 명령을 사용하여 계속 설치할 수 있습니다.

zypper in phpMyAdmin

phpMyAdmin이 PHP 및 apache와 함께 작동하도록 하려면 php.ini 파일에서 php_mbstring 확장을 활성화해야 합니다. vim으로 파일을 편집합니다.

vim /etc/php5/apache2/php.ini

873 행으로 이동하여 php_mbsting 확장을 주석 해제하여 활성화하십시오.

extension=php_mbstring.dll

파일을 저장하고 편집기를 종료합니다.

이제 .htaccess 파일로 phpMyAdmin 페이지에 대한 액세스를 제한하여 phpMyAdmin을 보호합니다.

phpMyAdmin 디렉토리에 .htaccess 파일을 생성하기 전에 .htaccess 파일에서 구성 재정의를 허용하도록 apache 디렉토리의 phpMyAdmin virtualhost 파일을 편집해야 합니다. "/etc/apache2/conf.d/" 디렉토리로 이동하고 vim으로 phpMyAdmin.conf 파일을 편집합니다.

cd /etc/apache2/conf.d/
vim phpMyAdmin.conf

3행에서 "AllowOverride None"을 "AllowOverride all"로 변경합니다.

AllowOverride all

저장 및 종료.

다음으로 phpMyAdmin 웹 디렉토리로 이동하여 새 htaccess 파일을 만듭니다.

cd /srv/www/htdocs/phpMyAdmin/
vim .htaccess

아래 구성을 붙여넣습니다.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpMyAdmin/.htpasswd
Require valid-user

저장 및 종료.

메모:

AuthType = 사용자가 사용하는 인증 방법의 유형, 일반적인 방법 사용은 mod_auh_basic에 의해 구현되는 Basic입니다.

AuthName=지시어 인증 이름.

AuthUserFile=\/etc/phpMyAdmin/.htpasswd\에 있는 .htpasswd 파일의 디렉토리

Require valid-user = .htpasswd 파일의 사용자에게 제한된 디렉토리에 대한 액세스 권한만 부여하도록 .htaccess에 지시합니다.

다음으로 apache2 서비스를 다시 시작하고 비밀번호와 사용자를 구성합니다.

systemctl restart apache2

사용자가 phpMyAdmin 페이지에 액세스할 수 있도록 하려면 .htpasswd 파일에서 사용자를 정의해야 합니다. htpasswd 명령으로 암호화된 비밀번호로 사용자를 생성합니다.

htpasswd -c /etc/phpMyAdmin/.htpasswd megumi

이 명령은 phpMyAdmin 페이지에 액세스할 수 있는 새 사용자 "megumi"를 생성합니다. "-c" 옵션은 새 .htpasswd 파일을 만드는 데 사용되므로 다른 사용자를 추가하려면 -c 옵션 없이 htpasswd를 사용할 수 있습니다.

htpasswd /etc/phpMyAdmin/.htpasswd yuki

이제 웹 브라우저에서 phpMyAdmin URL을 입력하면 .htpasswd 파일의 사용자와 비밀번호를 묻는 메시지가 표시됩니다.

사용자 이름과 암호를 입력하고 로그인을 누르면 phpMyAdmin에 로그인할 수 있습니다.

이제 MySQL 사용자 이름과 비밀번호를 입력하고 로그인하십시오. phpMyAdmin 대시보드를 볼 수 있습니다.

이제 phpMyAdmin이 포함된 LAMP 스택이 openSUSE Leap 42.1에 설치되었습니다.

참조

  • http://httpd.apache.org/docs/current/howto/auth.html