이 글에서는 Linux를 실행하는 서버에서 웹 환경을 구성하는 방법에 대한 단계별 지침을 제공합니다. 우선, 일반적인 웹 서버는 몇 가지 상호 작용하는 구성 요소로 구성되어 있다는 것을 이해해야 합니다.
- HTTP 서버
- 프로그래밍 언어 인터프리터
- 데이터베이스 관리 시스템(DBMS)
웹사이트를 관리하려면 콘텐츠 관리 시스템(CMS), 데이터베이스 관리를 위한 웹 인터페이스, FTP 접속도 설정해야 합니다.
Linux에서 매우 인기 있는 구성인 Apache-PHP-MySQL(MariaDB)을 설정하는 것을 고려해 보겠습니다. 또한 vsftpd ftp 서버, 데이터베이스 관리를 위한 웹 인터페이스인 phpMyAdmin, 그리고 콘텐츠 관리 시스템인 WordPress도 설치합니다.
시작하려면 VPS 서버 주문 or 전용 서버. 예를 들어, 우리는 Ubuntu Server 18.04를 실행하는 정적 IP 주소가 있는 가상 서버를 사용했습니다. 모든 명령은 루트 사용자가 실행했습니다.
Apache HTTP 서버 구성
1. 설치
apt install apache2
설치가 완료되면 브라우저를 열어서 확인하세요. “http://[서버의 IP 주소]”
위 스크린샷에서 이와 같은 시작 페이지가 보인다면 HTTP 서버가 작동하고 있다는 의미입니다.
2. 테스트 페이지 만들기
웹사이트의 기본 루트 디렉토리는 다음과 같습니다. “/var/www/html”. 여기서 방금 본 환영 페이지를 찾을 수 있습니다. 별도의 디렉토리를 만들어 보겠습니다. “/var/www/사이트” 가상 호스트 및 하위 폴더의 경우 “/var/www/sites/site1” 테스트 웹사이트의 인덱스 페이지와 함께 사용하세요.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
결과 파일 “/var/www/sites/site1/index.html” HTML 코드는 한 줄만 포함해야 합니다.
<H1>Welcome</H1>
3. Apache 서버 구성
웹사이트의 구성 파일은 다음과 같습니다. “/etc/apache2/sites-available/” 카탈로그. 파일에서 기본 구성을 가져와 새 가상 호스트에 대한 구성 파일을 만들어 보겠습니다. “000-기본.conf” 기초로.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
파일 열기 “사이트1.conf” 그리고 “문서 루트” 속성. 값으로 웹사이트 경로를 넣으세요. 우리의 경우에는 다음과 같습니다. “/var/www/sites/site1”
이 단계에서는 여러 웹사이트의 동시 작동을 구성할 필요가 없으므로 기본 웹사이트를 비활성화하고 새 사이트를 활성화할 수 있습니다. 서버 구성을 다시 로드하여 변경 사항을 적용합니다.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
링크 열기 “http://[서버의 _ip_주소]” 다시 한번 기본 환영 페이지 대신 새 페이지가 있는지 확인하세요.
HTTP 서버 구성을 마쳤으므로 다음 단계로 넘어갈 수 있습니다.
FTP 서버 구성
1. 설치
FTP 서버와 추가 패키지를 설치해 보겠습니다. “db-유틸리티”, 가상 사용자를 구성해야 합니다.
apt install vsftpd db-util
2. 로컬 계정 생성
vsftpd 서버는 매우 유연한 방식으로 액세스 권한을 구성할 수 있게 해줍니다. 작업을 위해 ftp 사용자에게 다음을 제공해야 합니다.
- 내용에 대한 전체 액세스 “/var/www/사이트/”;
- 위에 있는 모든 것을 비활성화하세요 “/var/www/”;
- 가상 계정으로 연결
로컬 계정 만들기 "가상" 로그인 권한은 없지만 홈 폴더에는 접근할 수 있음 “/var/www/”. 이 계정은 ftp 사용자가 서버에 연결하는 데 사용됩니다.
useradd -d /var/www virtual
"뿌리" 의 소유자가 될 것입니다 “/var/www” 기본적으로 폴더입니다. FTP 사용자가 웹사이트의 내용을 수정할 수 있도록 하려면 소유자를 변경해 보겠습니다. “/var/www/사이트/” 하위 폴더 포함 "가상".
chown -R virtual:root /var/www/sites
그 결과, 사용자는 "가상" 내용을 볼 수 있을 것입니다 “/var/www/” 그리고 쓰다 “/var/www/사이트/” 하위 폴더.
3. 구성
주요 구성은 파일에 있습니다 “/etc/vsftpd.conf”그러면 이를 열어서 다음과 같이 편집해 보겠습니다.
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. 데이터베이스 생성
가상 계좌의 데이터를 저장하려면 데이터베이스가 필요합니다.
먼저 간단한 텍스트 파일을 만들어 보겠습니다. “사용자.txt” 홈 폴더에 가상 사용자의 액세스 세부 정보(로그인 및 비밀번호)를 다른 모든 줄에 저장합니다. 예를 들어, 로그인이 있는 가상 사용자가 필요합니다. “ftp” 및 암호 “Qwe123”. 그러면 파일은 다음과 같습니다.
ftp
Qwe123
데이터베이스를 만들어 보자
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
기본 PAM 파일을 수정해 보자 “/etc/pam.d/vsftp” 다음과 같이 :
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
경로는 다음과 같습니다. “pam_userdb.so” 라이브러리는 다를 수 있지만 필요한 경우 변경할 수 있습니다.
변경 사항을 적용하려면 vsftpd 서버를 다시 로드하세요.
systemctl restart vsftpd
FTP 서버 구성을 완료했습니다.
연결 세부 정보:
- ftp://[서버의 IP 주소]
- 로그인: ftp
- 비밀번호: Qwe123
PHP 서버 구성
1. PHP 설치
오늘의 최신 안정된 PHP 버전은 php 7.4.5인데, 이는 공식 Ubuntu 저장소에 포함되어 있지 않습니다. 타사 저장소에 연결하여 최신 버전의 PHP를 설치해 보겠습니다.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. 검사
PHP를 실행하려면 웹 페이지 파일이 있어야 합니다. “.php” 확장자. 테스트 페이지의 이름을 바꿔보죠:
cd /var/www/sites/site1/
mv index.html index.php
다음 php 줄을 파일에 추가하세요 "/var/www/sites/site1/index.php"따라서 파일은 다음과 같아야 합니다.
<H1>Welcome</H1>
<?php
phpinfo();
?>
변경 사항을 저장하고 브라우저에서 결과를 확인하세요.
함수의 결과를 보면 “phpinfo()”, PHP 인터프리터가 제대로 작동하고 있습니다. 이제 다음 단계로 넘어가겠습니다.
MySQL(MariaDB) 구성
1. 설치
MariaDB와 MySQL용 PHP 모듈을 설치한 다음 Apache를 다시 로드해 보겠습니다.
apt install mariadb-server php-mysql
systemctl restart apache2
테스트 페이지를 새로 고치고 PHP 구성 표의 PDO 섹션으로 이동합니다. 섹션을 찾을 수 있다면 “PDO_mysql”, 그러면 MySQL 드라이버가 올바르게 설치되었다는 의미입니다.
그런 다음 MariaDB의 초기 보안 구성을 수행하고 암호를 설정해야 합니다. "뿌리" 사용자, 원격 접근 비활성화, 모든 게스트 계정 삭제.
mysql_secure_installation
첫 번째 단계에서는 다음을 입력해야 합니다. "뿌리" DBMS에 액세스하려면 사용자의 비밀번호를 입력하거나 비밀번호가 없는 경우 Enter를 누릅니다. 비밀번호가 설정되어 있지 않으므로 "뿌리" 사용자는 설치 후 누르기만 하면 됩니다. "시작하다".
MariaDB에는 OS 계정과 아무런 관련이 없는 자체 계정이 이미 있다는 점에 유의하세요. 따라서 MariaDB에서 다루는 유일한 사용자는 다음과 같습니다. "뿌리".
그 후, 구성자는 루트 사용자의 비밀번호를 설정하라고 요청할 것입니다. 다음을 입력하십시오. "와이" 새 비밀번호를 확인하고 입력합니다. 우리의 경우에는 다음과 같습니다. “Qwe123”
댓글 "와이" 나머지 모든 질문에는 마지막까지 답변해 드리겠습니다.
구성이 완료되었습니다!
MariaDB 액세스 세부 정보:
- 로그인: 루트
- 비밀번호: Qwe123
phpMyAdmin 구성
1. 설치
PHP에 필요한 확장 프로그램을 설치해 보겠습니다. mbstring.
apt install php-mbstring
공식 저장소에는 오래된 버전의 phpMyAdmin만 있으므로 새 버전을 수동으로 설치하겠습니다.
프로젝트 공식 홈페이지를 열어보세요.https://www.phpmyadmin.net/”를 클릭하고 최신 보관 파일을 다운로드하세요.
보관 파일을 서버에 복사합니다. “/var/www/사이트/” FTP 클라이언트를 사용하여 폴더에 접근할 수 있습니다.
폴더의 보관을 해제하고 이름을 바꾸세요. “phpMyAdmin”. 설치하는 것을 잊지 마세요 "압축 해제" 유틸리티. 보관을 해제한 후 보관을 삭제할 수 있습니다.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
다음 폴더를 생성하세요 “/var/www/sites/phpMyAdmin/tmp” 임시 파일에 대해 모든 사람이 접근할 수 있도록 허용합니다. 이렇게 하지 않으면 phpMyAdmin은 임시 폴더에 대한 접근이 거부되었다고 보고합니다.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. 별칭 만들기
phpMyAdmin은 별도의 가상 호스트가 아니고 루트 디렉토리 외부에 위치하므로 별칭을 구성해 보겠습니다.
파일 열기 “/etc/apache2/mods-available/alias.conf” 다음 줄을 추가합니다.
Alias /pma “/var/www/sites/phpMyAdmin"
이 섹션 내부:
<IfModule alias_module>
</IfModule>
변경 사항을 적용하려면 Apache를 다시 로드하세요.
systemctl reload apache2
별칭이 설정되어 있으므로 여기에서 phpMyAdmin에 액세스할 수 있습니다. “http://[서버의 IP 주소]/pma”.
3. 데이터베이스 준비
MariaDB의 초기 구성에서 root 사용자 사용을 제한했기 때문에 phpMyAdmin에 액세스하는 데 사용할 모든 권한이 있는 새 계정을 만들어야 합니다.
게다가 phpMyAdmin의 추가 기능을 사용하려면 서비스 데이터베이스와 이에 액세스할 수 있는 계정이 필요합니다.
계정을 만들어 보자
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
두 번째 요청의 데이터베이스 이름이 back sparks “… ON”에 있다는 점에 유의하세요. `phpMyAdmin` 를 클릭하세요.* TO 'pma'@'localhost'는 …로 식별됨”,
결과적으로 MariaDB에는 두 개의 계정이 생성됩니다.
- 로그인: pma, 비밀번호: Qwe123 전체 액세스, phpMyAdmin에 로그인하는 데 사용됩니다.
- 로그인: pmaservice, 비밀번호: Qwe123 추가 기능을 작동하려면 서비스 계정이 필요합니다.
다음 단계에서는 구성 파일에 이러한 세부 정보를 설정합니다. “config.inc.php”.
그런 다음 파일에서 데이터베이스를 가져와야 합니다. “phpMyAdmin/sql/create_tables.sql”.
phpMyAdmin의 도움을 받아 가져와 보겠습니다.
링크 열기 “http://[서버의 IP 주소]/pma”
로그인을 입력하세요 “피마” 및 암호 “Qwe123”
We Buy Orders 신청서를 클릭하세요. "가져 오기"클릭 "파일 선택" 파일을 선택하고 "sql/create_tables.sql" phpMyAdmin의 루트 디렉토리에 있습니다. PC에 폴더가 있어야 합니다. “phpMyAdmin” 파일로. 필요하다면 보관을 해제하세요.
"다음 것" 가져오기를 시작합니다.
4. 구성
템플릿에서 구성 파일을 복사해 보겠습니다.
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
설정 파일을 열어보자 “/var/www/sites/phpMyAdmin/config.inc.php” 다음과 같이 변경합니다.
속성에 대해 임의의 32자 값을 설정합니다. “$cfg['blowfish_secret']”. 아무 비밀번호 생성기를 사용하세요.
모든 줄에서 주석을 제거합니다. “phpMyAdmin 구성 저장소 설정” 섹션을 선택하고 MariaDB 서비스 계정의 로그인 및 비밀번호를 설정합니다. “컨트롤유저” “컨트롤패스” 그에 따라 속성을 지정합니다. 우리의 경우에는 다음과 같습니다. 피엠에이서비스 Qwe123.
변경 사항을 저장하십시오.
phpMyadmin에 대한 액세스 세부 정보:
- http://[server’s_ip_address]/pma/
- 로그인: pma
- 비밀번호: Qwe123
Linux 서버에 WordPress를 설치하고 구성하는 방법
1. WordPress 패키지 및 파일 배치
WP 공식 웹사이트로 이동하세요.https://ru.wordpress.org/”를 클릭하고 로컬 PC에 보관 파일을 다운로드하세요.
보관 파일을 서버에 업로드합니다. “/var/www/사이트/” 폴더에 저장하고 압축 해제합니다. “워드프레스" 폴더.
내용을 복사하세요. “/var/www/sites/wordpress/” 루트 폴더 “/var/www/sites/site1/” 웹 사이트를 방문 하십시오.
루트 권한으로 콘솔을 통해 파일을 복사했으므로 이제 소유자를 변경해 보겠습니다. “/var/www/사이트/” 내용을 포함하는 폴더 "가상"이는 클라이언트를 통한 FTP 연결에 대한 전체 액세스를 활성화하는 데 필요합니다.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. WordPress용 데이터베이스 생성
phpMyAdmin에 로그인하고 "데이터베이스 만들기"를 클릭합니다. 임의의 데이터베이스 이름을 지정하고, 우리의 경우 "wordpress_db"를 지정하고 "만들기" 버튼을 클릭합니다.
왼쪽 섹션에서 새 데이터베이스를 선택하고 클릭하세요. “특권”
그런 다음 “사용자 계정 추가”.
로그인과 비밀번호를 입력하세요 (wp서비스 / Qwe123) 열린 창에서 확인하세요 “wordpress_db의 모든 권한을 부여합니다” 클릭 "다음 것"
다음 페이지에서 클릭하세요 “모두 취소” 데이터베이스 수준에서 모든 권한을 재설정하려면 클릭하세요. "다음 것".
3. Linux 서버에서 WordPress 구성
웹사이트의 루트 디렉토리로 이동하여 템플릿에서 구성 파일을 복사합니다.
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
열기 "wp-config.php" 파일을 열고 이전 단계에서 만든 데이터베이스 연결 매개변수를 입력한 후 변경 사항을 저장합니다.
4. CMS 워드프레스 설치
브라우저에서 다음 링크를 엽니다. “http://[서버의 IP 주소]/wp-admin/install.php”.
모든 필드를 채우고 클릭하세요 “WordPress 설치”. 임의의 사용자 이름과 비밀번호를 설정합니다. 우리의 경우에는 다음과 같습니다. wpadmin Qwe123 따라서.
이러한 세부정보는 WordPress에 접근하는 데 사용됩니다.
설치가 완료되면 링크를 열어주세요. “http://[서버의 IP 주소]/wp-login.php”, 액세스 세부 정보를 입력하고 WordPress에 로그인합니다.
메인 페이지에서 WordPress 템플릿 중 하나를 볼 수 있습니다.
구성이 완료되었습니다.
WordPress 접근 세부 정보:
- http://[server’s_ip_address]/wp-login.php
- 로그인: wpadmin
- 비밀번호: Qwe123