웹사이트 검색

Ubuntu 15.10에서 Apache, MySQL 및 SSL을 사용하여 Drupal 8을 설치하는 방법


이 페이지에서

  1. 1단계 - Apache 및 PHP 설치
  2. 2단계 - MySQL 데이터베이스 설치 및 구성
  3. 3단계 - SSL 설치 및 구성
  4. 4단계 - Apache 가상 호스트 구성\n
  5. 5단계 - Drupal 8 설치 및 구성
  6. 결론

Drupal은 PHP 기반의 오픈 소스 콘텐츠 관리 시스템이며 GNU General Public License에 따라 배포됩니다. Drupal은 웹 콘텐츠 관리를 위한 확장 가능한 개방형 플랫폼이며 커뮤니티는 핵심 기능을 확장하기 위해 31,000개 이상의 모듈을 제공하고 Drupal은 인터넷의 모든 웹사이트 중 최소 2.1%에서 사용됩니다. 2015년 말에 Drupal 프로젝트는 이 튜토리얼에서 다룰 새로운 주요 버전인 Drupal 8을 출시했습니다.

이 튜토리얼에서는 Apache를 웹 서버로, MySQL을 데이터베이스 백엔드로 사용하여 Ubuntu 15.10에 Drupal 8을 설치하는 방법과 SSL로 웹 사이트를 보호하는 방법을 보여줍니다.

전제 조건

  • 우분투 15.10 - 64비트.
  • 루트 권한.\n

1단계 - Apache 및 PHP 설치

Ubuntu 패키지 설치 프로그램인 apt를 사용하여 apache 및 PHP(및 Drupal에 필요한 일부 PHP 모듈)를 설치하겠습니다. 그런 다음 아파치 모듈 mod_rewrite 및 mod_ssl을 활성화합니다.

Ubuntu 리포지토리를 업데이트하고 Apache를 설치합니다.

sudo su
apt-get update
apt-get install apache2 -y

그런 다음 아래 명령을 사용하여 PHP 5 및 PHP 모듈을 설치합니다.

apt-get install -y php5 libapache2-mod-php5 php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-apcu

이제 Apache SSL을 활성화하고 a2enmod 명령으로 모듈을 다시 작성하십시오. 구성 변경 사항을 적용하려면 Apache를 다시 시작하십시오.

a2enmod rewrite ssl
systemctl restart apache2

다음 명령으로 모듈이 로드되었는지 확인합니다.

apache2ctl -M | egrep 'ssl|rewrite'

출력에는 다음 줄이 표시됩니다.

#Enabled
 rewrite_module (shared)
 ssl_module (shared

따라서 mod-rewrite 및 mod-ssl이 로드됩니다.

이제 Apache와 PHP가 잘 작동하는지 확인하겠습니다. \/var/www/html/\ 디렉토리에 새 파일을 만듭니다. 파일에는 phpinfo() 명령이 포함되어 있습니다.

cd /var/www/html
echo "<?php phpinfo(); ?>" > info.php

서버 IP 방문: 192.168.1.100/info.php

결과는 이 스크린샷과 유사해야 합니다.

info.php 파일을 삭제합니다.

rm -f /var/www/html/info.php

공개적으로 액세스할 수 있는 info.php 파일은 보안 위험이 있습니다.

2단계 - MySQL 데이터베이스 설치 및 구성

이 단계에서는 MySQL 5.6을 설치하고 Drupal용 새 데이터베이스를 생성합니다. drupaldb라는 이름의 데이터베이스, 비밀번호가 [email 인 새 사용자 drupaluser를 생성하고 데이터베이스에 대한 사용자 액세스 권한을 부여합니다.

아래 명령으로 MySQL을 설치합니다.

apt-get install mysql-server mysql-client -y

설치 프로세스에서 MySQL 암호를 묻는 메시지가 나타나면 안전한 암호를 선택하십시오.

이제 사용자 "root"와 위에서 선택한 비밀번호를 사용하여 MySQL 데이터베이스에 로그인한 다음 drupal용 데이터베이스와 사용자를 만듭니다.

아래 명령을 사용할 수 있습니다.

mysql -u root -p

create database drupaldb;
create user ';
flush privileges;
exit

데이터베이스 구성이 완료되었습니다.

3단계 - SSL 설치 및 구성

SSL을 사용하여 Drupal에 대한 보안 액세스를 활성화합니다. apache 구성 디렉토리에 ssl용 새 디렉토리를 만든 다음 OpenSSL 명령으로 SSL 인증서를 만들고 인증서 파일의 권한을 변경합니다.

apache 디렉토리로 이동하여 ssl 디렉토리를 생성하고 다음을 입력합니다.

cd /etc/apache2/
mkdir ssl
cd ssl/

자체 서명된 SSL 인증서 생성:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/drupalssl.key -out /etc/apache2/ssl/drupalssl.crt

인증서 파일의 권한을 변경합니다.

chmod 600 *

새 SSL 인증서 파일이 생성됩니다.

4단계 - Apache 가상 호스트 구성

이 단계에서는 /var/www 디렉토리 내에 Drupal용 디렉토리를 생성하고 Drupal용 새 가상 호스트 구성 파일을 추가합니다.

mkdir -p /var/www/drupal
cd /etc/apache2/sites-available

이제 vim으로 Apache 가상 호스트 구성을 포함할 drupal.conf라는 새 파일을 만듭니다.

vim drupal.conf

아래에 가상 호스트 구성을 붙여넣습니다.

        <VirtualHost *:80>
                ServerName www.mydrupal.co
                DocumentRoot /var/www/drupal

                # Redirect http to https
                RedirectMatch 301 (.*) https://www.mydrupal.co$1
        </VirtualHost>

        <VirtualHost _default_:443>

                # Server Info
                ServerName www.mydrupal.co
                ServerAlias mydrupal.co
                ServerAdmin 

                # Web root
                DocumentRoot /var/www/drupal

                # Log configuration
                ErrorLog ${APACHE_LOG_DIR}/drupal-error.log
                CustomLog ${APACHE_LOG_DIR}/drupal-access.log combined

                #   Enable/Disable SSL for this virtual host.
                SSLEngine on

                # Self signed SSL Certificate file
                SSLCertificateFile      /etc/apache2/ssl/drupalssl.crt
                SSLCertificateKeyFile /etc/apache2/ssl/drupalssl.key

                <Directory "/var/www/drupal">
                        Options FollowSymLinks
                        AllowOverride All
                        Require all granted
                </Directory>

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

                BrowserMatch "MSIE [2-6]" \
                                nokeepalive ssl-unclean-shutdown \
                                downgrade-1.0 force-response-1.0
                # MSIE 7 and newer should be able to use keepalive
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

        </VirtualHost>

도메인 이름 www.mydrupal.co를 Drupal 웹사이트의 도메인 이름으로 바꿉니다.

파일을 저장하고 종료합니다.

이제 다음 명령을 사용하여 Apache 구성을 테스트합니다.

apachectl configtest

"Syntax ok"가 표시되면 Apache 구성이 올바른 것입니다.

이제 Drupal 가상 호스트를 활성화하고 Apache를 다시 시작합니다.

a2ensite drupal
systemctl restart apache2

가상 호스트가 생성되고 구성됩니다.

5단계 - Drupal 8 설치 및 구성

Drupal을 설치하기 전에 git과 drush를 설치해야 합니다. 따라서 다음 apt 명령으로 설치하십시오.

apt-get install git drush -y

이제 Drupal 디렉토리로 이동하여 drush 명령으로 새 Drupal 8 버전을 다운로드합니다.

cd /var/www/drupal
drush dl drupal-8

모든 Drupal 파일을 \/var/www/drupal\로 이동:

mv drupal-8.0.1/* .
rm -rf drupal-8.0.1/

sites/default 디렉토리로 이동하여 settings.phpservices.yml 구성 파일 두 개를 복사합니다.

cd sites/default
cp default.settings.php settings.php
cp default.services.yml services.yml

그런 다음 새 디렉터리 files를 만들고 사이트/기본 디렉터리에 있는 모든 파일 및 폴더의 권한을 변경합니다.

mkdir files/
chmod a+w *

/var/www/ 디렉토리로 이동하여 drupal 디렉토리의 소유자를 www-data 사용자 및 그룹으로 변경합니다.

cd /var/www/
chown -R www-data:www-data drupal/

Drupal 설치의 셸 부분이 완료되었습니다. 웹사이트 "www.mydrupal.co"의 drupal 도메인을 방문하면 자동으로 https 연결로 전환됩니다.

언어를 선택하세요. 여기서는 영어를 사용하겠습니다.

표준 설치 프로필을 선택합니다.

서버가 Drupal을 사용할 준비가 되면(위의 설치 단계를 사용했을 때 서버가 준비되었으므로) 요구 사항 확인 섹션으로 이동하여 데이터베이스 구성을 계속합니다. 이전에 생성한 MySQL 데이터베이스의 데이터베이스 세부 정보를 입력합니다.

"저장하고 계속하기"를 클릭하고 설치 프로세스가 완료될 때까지 기다리십시오.

ow 사이트, 관리자 계정, 이메일, 사이트 이름 등을 구성합니다.

Drupal이 설치 및 구성되었습니다.

결론

Drupal은 PHP를 기반으로 하는 콘텐츠 관리 시스템으로 인터넷의 모든 웹사이트 중 최소 2.1%에서 사용됩니다. 지금까지 Drupal은 버전 8을 출시했으며 Drupal을 정말 유용하게 만드는 많은 애드온 모듈을 제공합니다. MySQL 또는 MariaDB를 데이터베이스로 지원하는 모든 서버, Apache 또는 Nginx와 같은 웹 서버 및 PHP 프로그래밍 언어에 Drupal을 설치할 수 있습니다. Drupal은 설치 및 구성이 쉽습니다.