일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 피날레2005
- OpenSuSE
- 나스
- 시놀로지
- openSUSE 11.2
- MIDI
- Nas
- Linux
- 네트워크
- Finale2005
- 리눅스
- 시벨리우스
- 시벨리우스4
- 오픈수세
- 피날레
- 티스토리챌린지
- sibelius5
- 오블완
- 오픈수세 11.2
- 오픈소스
- 수세
- Finale2009
- synology
- 피날레2009
- 오픈수세 11.1
- 사무실
- sibelius4
- 사보
- 미디
- 시벨리우스5
- Today
- Total
오브리닷넷(Obbli.net)
우분투 22.04 - Tiki Wiki용 AMP설치하고 https 잡은 뒤 도메인 연결 본문
우분투 20.04에 Tiki Wiki(티키 위키)를 세팅하는 글을 참조하여 티키 위키를 설치하기 위한 세팅을 진행한다.
필요한 것
- 서버로 쓸 우분투 22.04
- root 권한
- 대략의 우분투 웹서버 세팅에 대한 지식
진행 순서
- 티키 위키 설치에 필요한 패키지 설치
- 아파치 서버 설치
- Let's encrypt 로 SSL 적용
- 도메인 리다이렉트
1. 패키지 설치
티키 위키 설치에 사용할 패키지를 설치한다.
sudo apt install curl memcached poppler-utils bsdmainutils catdoc elinks man-db odt2txt pstotext unzip composer git phpmyadmin postfix
설치할 때 나오는 질문에 대한 기본 설정은 다음과 같이 한다.
postfix
- General type of mail configuration: Internet site
- System mail name: mail.사용자도메인.org
phpmyadmin
- Webserver : apache2
- Configure database with dbconfig-common: yes
- MySQL application password for phpmyadmin: 입력하지 않음
2. 아파치 웹서버 설치
아파치 웹서버를 설치한다.
sudo apt install apache2
아파치 웹서버 시작하기
sudo systemctl start apache2
서버 시동할 때 자동으로 아파치 시작하게 하기
sudo systemctl enable apache2
아파치 상태 확인
systemctl status apache2
아래와 비슷한 메시지가 나타난다.
$ systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-10-25 14:40:19 KST; 1h 14min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 18460 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Process: 19435 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 18463 (apache2)
Tasks: 23 (limit: 4597)
Memory: 46.9M
CPU: 12.463s
CGroup: /system.slice/apache2.service
├─18463 /usr/sbin/apache2 -k start
├─19467 /usr/sbin/apache2 -k start
├─19469 /usr/sbin/apache2 -k start
├─19471 /usr/sbin/apache2 -k start
├─19474 /usr/sbin/apache2 -k start
├─19546 /usr/sbin/apache2 -k start
├─19550 /usr/sbin/apache2 -k start
├─19553 /usr/sbin/apache2 -k start
├─19744 /usr/sbin/apache2 -k start
├─19746 /usr/sbin/apache2 -k start
├─19748 /usr/sbin/apache2 -k start
├─20349 /usr/sbin/apache2 -k start
└─20350 /usr/sbin/apache2 -k start
10월 25 14:40:19 akiha-EP43-DS3L systemd[1]: Starting The Apache HTTP Server...
10월 25 14:40:19 akiha-EP43-DS3L systemd[1]: Started The Apache HTTP Server.
10월 25 14:57:49 akiha-EP43-DS3L systemd[1]: Reloading The Apache HTTP Server...
10월 25 14:57:49 akiha-EP43-DS3L systemd[1]: Reloaded The Apache HTTP Server.
10월 25 14:57:49 akiha-EP43-DS3L systemd[1]: Reloading The Apache HTTP Server...
10월 25 14:57:49 akiha-EP43-DS3L systemd[1]: Reloaded The Apache HTTP Server.
10월 25 14:58:07 akiha-EP43-DS3L systemd[1]: Reloading The Apache HTTP Server...
10월 25 14:58:07 akiha-EP43-DS3L systemd[1]: Reloaded The Apache HTTP Server.
10월 25 14:58:08 akiha-EP43-DS3L systemd[1]: Reloading The Apache HTTP Server...
10월 25 14:58:08 akiha-EP43-DS3L systemd[1]: Reloaded The Apache HTTP Server.
ufw 방화벽 http/https 포트 열어주기
sudo ufw allow http
sudo ufw allow https
ufw 확인 하기
sudo ufw status verbose
ufw 활성화 안되어 있다면?
sudo ufw enable
sudo ufw disable
브라우저를 사용해 서버 ip주소로 접속을 시도 해보고 정상 접속된다면 다음 단계로 진행한다.
예
- 내부 http://127.0.0.1 또는 http://localhost
- 사설 IP http://192.168.0.x
- 공인 IP http://164.124.101.2
3. MariaDB 서버 설치
MariaDB가 설치 안되어 있다면 따로 설치 해준다.
sudo apt install -y mariadb-server mariadb-client
DB를 시작하고 시스템 시작시에 자동 시작 할 수 있도록 해준다.
sudo systemctl start mariadb
sudo systemctl enable mariadb
새로 설치 했다면 아래 명령으로 초기 설정을 진행할 수 있다.
mysql_secure_installation
질문에는 대략 Y를 해두면 되는데 다음과 같이 하면 된다.
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
root 암호 설정을 포함해서 다 마치면 티키 위키 설정을 위해 mariadb에 root 권한으로 진입한다.
mysql -u root -p
아래 정보로 DB 설정을 한다.
- 티키 위키 DB 사용자 이름 = tikidb
- 티키 위키 DB 문자집합 = utf8mb4
- 정렬방법 = utf8mb4_unicode_ci
- 사용자 이름 = tikiuser@localhost
- 암호 = 1password1
명령은 아래 . 사용자 이름과 암호는 임의대로 바꿀 수 있다.
CREATE DATABASE tikidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'tikiuser'@'localhost' IDENTIFIED BY '1password1';
티키위키 사용자에게 티키 위키 DB 권한을 준다.
GRANT ALL ON tikidb.* TO 'tikiuser'@'localhost' WITH GRANT OPTION;
DB를 최신정보로 갱신 한다.
FLUSH PRIVILEGES;
'EXIT' 를 입력하여 DB를 나온다.
4. php7.4
DB 서버를 설치한 뒤에는 티키 위키에 맞는 php를 지정해주고 설치해줘야 한다. 현재 티키 위키 LTS 버전 tiki 24.x 버전은 php7.4를 사용해야 하지만 우분투 22.04는 php7.4가 없고 php8.1을 지원하고 있다. 따라서 7.4를 설치할 수 있는 PPA 저장소를 따로 추가해야만한다.
저장소를 갱신해준다.
sudo apt-get update && sudo apt -y install software-properties-common
PPA 저장소를 추가하고 갱신해준다.
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
php 7.4 를 설치해준다.
sudo apt install libapache2-mod-php7.4 memcached php7.4 php7.4-apcu php7.4-bcmath php7.4-bz2 php7.4-common php7.4-curl php7.4-gd php7.4-intl php7.4-ldap php7.4-mbstring php7.4-memcache php7.4-memcached php7.4-mysql php7.4-opcache php7.4-pspell php7.4-soap php7.4-sqlite3 php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-zip php-apcu php-bcmath php-common php-curl php-gd php-intl php-mbstring php-memcached php-mysql php-pear php-pspell php-sqlite3 php-tidy php-xmlrpc php-zip
php 7.4 를 기본 php로 만들어준다.(현재는 8.1)
sudo a2dismod php8.1
sudo a2enmod php7.4
sudo systemctl restart apache2
sudo update-alternatives --set php /usr/bin/php7.4
모듈을 활성화한다.
sudo phpenmod mbstring
php 설정(/etc/php/7.4/apache2/php.ini)에서 다음 값을 변경해준다.
date.timezone = Asia/Seoul
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
php 를 아파치에 적용하기 위해 아파치를 재시작한다.
systemctl restart apache2
5. 티키 위키 소스코드를 다운로드하고 설치 준비를 마친다.
티키 위키를 wget을 사용해 '/var/www/' 디렉토리에 다운로드 한다.
cd /var/www/
wget -q https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
다운로드한 티키 위키 압축파일을 풀고 디렉토리를 'tikiwiki'로 변경해준다.
unzip tikiwiki.zip
mv tiki-21.1 tikiwiki
티키 위키 디렉토리를 포함한 하위 모든 파일들을 www-data 사용자 그룹으로 변경 해준다.
sudo chown -R www-data:www-data /var/www/tikiwiki
6. SSL을 적용한다.
Letsencrypt 를 사용해서 SSL를 생성하고 적용한다. 먼저 certbot을 설치한다.
sudo apt install certbot -y
apache2를 정지시키고 티키 위키를 사용할 도메인에 대한 SSL 을 생성한다.
- 도메인 : sample.org
- 관리자 : admin
sudo systemctl stop apache2
sudo certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email admin@sample.org -d sample.org
생성을 마치면 '/etc/letsencrypt/live/tiki.sample.com' 디렉토리에 SSL 인증서가 저장된다.
7. 아파치 가상호스트 설정
'/etc/apache2/sites-available/' 디렉토리에 tikiwiki.conf 파일을 생성한다.
sudo vi /etc/apache2/sites-available/tikiwiki.conf
SSL 인증서를 포함한 설정값을 입력한다.
<VirtualHost *:80>
ServerAdmin webmaster@sample.org
ServerName sample.org
ServerAlias sample.org
# Redirect all to safe connections
Redirect permanent / https://sample.org/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@sample.org
ServerName sample.org
ServerAlias sample.org
DocumentRoot /var/www/tikiwiki/
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/sample.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sample.org/privkey.pem
ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined
<Directory /var/www/tikiwiki>
Require all granted
AllowOverride All
</Directory>
# Deny all for db/
<Directory /var/www/tikiwiki/db>
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
# Deliver only png, pdf, html, js, css from temp/ folder
<Directory /var/www/tikiwiki/temp>
Order Deny,Allow
Deny from all
Options Indexes FollowSymLinks
AllowOverride None
php_flag engine Off
<Files ~ "\.(png|pdf|html|js|css)$">
Order Deny,Allow
Allow from all
</Files>
</Directory>
# Turn off php and deny some special types
<Directory ~ "/var/www/tikiwiki/(css|doc|files|img|maps|mods|styles|templates|templates_c|whelp)">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
php_flag engine Off
<Files ~ "\.(php|sql|sh|pl|py)">
Order allow,deny
Deny from all
</Files>
</Directory>
</VirtualHost>
tikiwiki 가상호스트를 활성화 시키고 ssl 모듈을 활성화 한다.
sudo a2ensite tikiwiki
sudo a2enmod ssl
설정값이 잘 먹히는지 테스트를 한뒤 아파치를 재시작한다.
sudo apachectl configtest
sudo systemctl restart apache2
9. 페이지에 접속하고 티키 위키 설치 진행
브라우저로 sample.org 페이지에 접속하고 티키 위키 설치를 진행한다.