EC2 / Ubuntu / Apache / virtual host / PHP7.2 / SQLSRV 설치

PHP7.x 부터는 freetds 드라이버를 더 이상지원하지 않는다는 슬픈 사실을 확인하고 MS-SQL 접속을 위해 다른 방법을 알아보다가 MS에서 직접 배포하는 SQLSRV 드라이버를 설치해보기로 했다.

 

먼저 서버 한대를 준비합니다.

가장 간단하게는 AWS EC2 빠른시작에서 제공하는 리눅스 Ubuntu LTS 18.04 이미지를 통해 EC2 Instance 한대를 생성하는게 좋겠죠.

 

 

[mod_rewrite 모듈 활성화 및 설정]

$ sudo a2enmod rewrite

$sudo vi /etc/apache2/apache2.conf

apache2.conf 파일을 열어 가장 하단에 아래의 설정 코드를 추가 후 저장합니다.

<IfModule mod_rewrite.c>
rewriteEngine On
</IfModule>

 

[virtual hosts 설정]

그리고 멀티호스트 셋팅이라면 아래와 같이 사이트별로 호스트 설정파일을 만들어줍니다. sites-enabled 폴더안에 있는 모든 .conf 파일을 아파치 시작 시에 로딩하기 때문에 파일이름은 상관없고 설정하는 내용이(도메인과 폴더 매핑 및 폴더 권한) 중요합니다.

$ sudo vi /etc/apache2/sites-enabled/mysite1.conf

 

<VirtualHost *:80>
ServerName mysite1.domain.com
ServerAdmin webmaster@domain.com
DocumentRoot /home/mysite1/html
<Directory /home/mysite1/html>
DirectoryIndex index.php
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

Codeigniter 3.x 사용을 위해 AllowOverride All, Require all granted (추가 하지 않으면 404 에러 날수 있음)를 추가하였습니다.

 

 

[ubuntu 에서 apache 서버에게 디렉터리 권한 부여하기]

OSX 에서는 daemon, centos 에서는 apache, 우분투에서는 www-data 입니다.

$ sudo chown -R www-data dir

 

 

[참조]

How To Configure Apache Virtual Hosts In Ubuntu 18.04 LTS

https://askubuntu.com/questions/520634/giving-ownership-of-the-directory-to-the-apache-user

https://slowcode.tistory.com/14

https://stackoverflow.com/questions/43298814/error-404-on-apache-server-with-codeigniter