Ubuntu Server 18.04 LTS에서 LAMP 환경 구축

소개



Ubuntu Server 18.04 LTS에 LAMP 환경을 구축합니다. 데이터베이스는 MariaDB, PostgreSQL, SQlite를 설치합니다. 인터넷에서 공개하는 경우는 별도로 보안 설정을 하십시오.

MariaDB



설치


$ sudo apt-get install mariadb-server mariadb-client

보안 설정


$ sudo mysql_secure_installation

설정 항목
Enter current password for root (enter for none): 

Set root password? [Y/n] y

Remove anonymous users? [Y/n]

Disallow root login remotely? [Y/n]

Remove test database and access to it? [Y/n]

Reload privilege tables now? [Y/n]


연결 확인


sudo mysql -u root -p

PostgreSQL



설치


$ sudo apt-get install postgresql

설정



/etc/postgresql/10/main/pg_hba.conf 편집
(특히 설정을 변경하지 않고 기본값으로 연결할 수 있습니다)

클라이언트 인증


/etc/postgresql/10/main/postgresql.conf 편집

설정 예) 모든 원격 연결

listen_addresses = '*'

SQLite



설치


$ sudo apt-get install sqlite3

아파치



설치


$ sudo apt-get install apache2

동작 확인



브라우저에서 「http://서버의 IP/」에 액세스한다.



PHP



설치


$ sudo apt-get install php7.2

PHP 테스트



/var/www/html/info.php 작성
<?php
phpinfo();
?>



MariaDB / PostgreSQL PHP 지원



php7.2 설치된 모듈
$ dpkg -l | grep php7.2


php7.2 설치된 목록
ii  libapache2-mod-php7.2                 7.2.3-1ubuntu1                    amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  php7.2                                7.2.3-1ubuntu1                    all          server-side, HTML-embedded scripting language (metapackage)
ii  php7.2-cli                            7.2.3-1ubuntu1                    amd64        command-line interpreter for the PHP scripting language
ii  php7.2-common                         7.2.3-1ubuntu1                    amd64        documentation, examples and common module for PHP
ii  php7.2-json                           7.2.3-1ubuntu1                    amd64        JSON module for PHP
ii  php7.2-opcache                        7.2.3-1ubuntu1                    amd64        Zend OpCache module for PHP
ii  php7.2-readline

php7.2 모듈 목록
$ apt-cache search php7.2
$ apt-cache search php-

php7.2의 모듈 목록 (일부)
libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module)
php-all-dev - package depending on all supported PHP development packages
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-gd - GD module for PHP
...
...
...

여기에 이들을 설치합니다.
$ sudo apt-get install php7.2-curl php7.2-gd php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-xmlrpc php7.2-intl php7.2-mbstring

확인



Apache 재부팅
$ sudo systemctl restart apache2



참조


  • Ubuntu 18.04 (LTS) LAMP server tutorial with Apache, PHP 7.2, and MySQL
  • 좋은 웹페이지 즐겨찾기