※ 해당 포스팅에서 사용하는 패키지들은 아래 버전을 사용하여 진행되었습니다.
• Linux : CentOS7 사용
• MediaWiki :mediawiki-1.40.0 버전 사용
• Apache : Apache/2.4.6 버전 사용
• PHP : PHP 7.4.33 버전 버전 사용
• MariaDB : 10.6.14-MariaDB Server 버전 사용
1. CentOS 업데이트 및 패키지 설치
① CentOS 업데이트
$ sudo yum update -y
② EPEL 패키지 설치
$ sudo yum install -y epel-release
EPEL 저장소는 추가적인 소프트웨어 패키지를 제공하는 저장소이다.
③ yum-utils 패키지 설치
$ sudo yum install -y yum-utils
패키지 관리자의 유틸리티와 도구 모음을 제공하는 패키지
④ WGET 패키지 설치
$ sudo yum install -y wget
웹 서버로부터 파일을 다운로드하는 명령어입니다. 주로 파일 다운로드나 웹페이지 내용 가져오기 등에 사용된다.
⑤ VIM 텍스트 에디터 설치
$ sudo yum install -y vim-enhanced
`vim-enhanced`은 VIM 에디터의 확장버전으로 다양한 플러그인과 기능을 제공한다.
2. FireWall 방화벽 80 포트 Open
먼저 파이어 월( FireWall ) 실행 중인지 확인한다.
$ sudo firewall-cmd --state
running( 실행중 ) / not running( 실행중이 아님 )
파이어 월 실행중이지 않으면 아래 명령어로 실행해 준다.
$ sudo systemctl start firewalld
파이어 월이 실행되었다면 미디어위키를 페이지를 오픈하기 위한 한 80( http ) 포트를 오픈하여 준다.
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
success
파이어 월을 재실행 해준다.
$ sudo firewall-cmd --reload
success
3. SELinux( Security-Enhanced Linux ) 종료
SELinux(보안 강화 리눅스)는 리눅스 커널의 보안 기능을 강화하기 위한 보안 기술 중 하나이다.
하지만 SELinux는 복잡한 정책 및 설정을 가지고 있어 초기 설정 및 관리가 다소 복잡할 수 있으며
잘못된 설정은 시스템 동작에 영향을 줄 수 있어 해당 포스팅에서는 비활성화 하고 작업을 진행한다.
/etc/selinux/config 파일을 열고 아래와 같이 `SELINUX=disabled`로 설정을 변경하여 준다.
$ sudo vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
`SELINUX=disabled`로 설정을 변경 하였다면 시스템을 재부팅 하여준다.
sudo shutdown -r now;
4. Apache Server 설치 및 실행
미디어위키 서비스를 제공할 아파치 서버( Apache Server )를 설치한다.
$ sudo yum install -y httpd
아파치 설치가 완료되었는지 설치된 Version은 몇 버전인지 확인해 보자
$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: May 30 2023 14:01:11
Apache/2.4.6 버전이 설치된 것을 확인 할 수 있다.
CentOS7를 재부팅 하였을때 아파치가 자동으로 실행되도록 설정을 지정해 준다.
$ sudo systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
아파치가 재부팅 후에 자동으로 시작되었다면 enabled 라고 표시된다.
$ sudo systemctl is-enabled httpd
enabled
`enabled` 로 설정되어 있다면 서비스가 부팅시 자동으로 시작되도록 설정된 것이다.
아래 명령을 통해 아파치를 실행해 보자.
$ sudo systemctl start httpd
아파치를 실행하고 브라우저 주소 입력창에 서버에 접근할 수 있는 Host주소나 URL을 입력한다.
그럼 위와같이 Apache Server가 실행되고 있는 것을 확인 할 수 있다.
5. PHP 7.4 버전 설치
미디어위키(Ver.1.40)를 사용하기위해서는 PHP 7.4 버전이 필요하기에 Remi 저장소를 활성화해야 한다.
$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum-config-manager --enable remi-php74
서드파티 저장소인 `remi`저장소를 통해 `php74( PHP 7.4 )` 버전을 설치한다.
저장소의 세팅이 마무리 되면 PHP의 설치를 진행한다.
$ sudo yum install -y php
$ sudo yum install -y php-opcache
$ sudo yum install -y php-gd
$ sudo yum install -y php-mysql
$ sudo yum install -y php-xml
$ sudo yum install -y php-mbstring
$ sudo yum install -y php-intl
이제 PHP가 잘 설치 되었는지 Version은 7.4 버전이 맞는지 확인해 보자.
$ php -v
PHP 7.4.33 (cli) (built: Aug 1 2023 09:00:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
PHP 7.4.33..version이 설치된 것을 확인 할 수 있다.
6. MediaWiki 다운받고 세팅하기
1) MeidaWiki를 설치할 사용자 계정 및 디렉토리 생성
CentOS7에서 미디어위키를 서비스할 사용자 계정과 디렉토리를 생한다.
$ sudo useradd mediawiki
※ 해당 포스팅은 사용자계정을 `mediawiki`로 지정하여 사용하였다.
미디어 위키 사용자 계정( mediawiki )이 생성하였다면 생성한 사용자 계정의 비밀번호를 지정해준다.
$ sudo passwd mediawiki
mediawiki 사용자의 비밀 번호 변경 중
새 암호 : 비밀번호
새 암호 재입력 : 비밀번호 확인
passwd : 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
/home 디렉토리 아래에 /mediawiki 디렉토리가 생성이 되었다.
/mediawiki의 권한을 755로 변경한다.
$ sudo chmod 755 /home/mediawiki/
$ ls /home/ -al
합계 0
drwxr-xr-x. 4 root root 39 8월 7 20:40 .
dr-xr-xr-x. 17 root root 224 8월 7 17:29 ..
drwxr-xr-x. 2 mediawiki mediawiki 62 8월 7 20:40 mediawiki
• 소유자(owner): 읽기, 쓰기, 실행 권한 ( 4 + 2 + 1 = 7 )
• 그룹(group): 읽기, 실행 권한 ( 4 + 1 = 5 )
• 다른 사용자(other): 읽기, 실행 권한 ( 4 + 1 = 5 )
2) 생성한 디렉토리에 MeidaWiki 다운로드 및 압축 해제
wget을 통해 미디어 위키( 1.40.0 version )를 다운로드 한다.
$ sudo wget -O /home/mediawiki/mediawiki-1.40.0.tar.gz https://releases.wikimedia.org/mediawiki/1.40/mediawiki-1.40.0.tar.gz
--2023-08-08 16:25:06-- https://releases.wikimedia.org/mediawiki/1.40/mediawiki-1.40.0.tar.gz
Resolving releases.wikimedia.org (releases.wikimedia.org)... 103.102.166.224, 2001:df2:e500:ed1a::1
Connecting to releases.wikimedia.org (releases.wikimedia.org)|103.102.166.224|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 65441100 (62M) [application/x-gzip]
Saving to: ‘/home/mediawiki/mediawiki-1.40.0.tar.gz’
100%[========================================================================================================================>] 65,441,100 13.6MB/s in 6.1s
2023-08-08 16:25:13 (10.2 MB/s) - ‘/home/mediawiki/mediawiki-1.40.0.tar.gz’ saved [65441100/65441100]
지정한 /home/mediawiki 디렉토리에 mediawiki-1.40.0.tar.gz 압축파일이 잘 다운로드 되었는지 확인해 보자.
$ ls /home/mediawiki/ -al
합계 63920
drwx------. 2 mediawiki mediawiki 93 8월 8 16:25 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
-rw-r--r--. 1 root root 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
mediawiki-1.40.0.tar.gz 압축파일이 다운로드된 것을 확인 할 수 있다.
다운이 완료되었다면 아래 명령을 통해 /home/mediawiki/ 경로에 압축을 해제한다.
$ sudo tar -zxvf /home/mediawiki/mediawiki-1.40.0.tar.gz -C /home/mediawiki/
압축이 제대로 풀렸는지 확인해 보자.
$ sudo ls /home/mediawiki/ -al
합계 63924
drwx------. 3 mediawiki mediawiki 117 8월 8 16:32 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
drwxr-xr-x. 14 root root 4096 8월 8 16:32 mediawiki-1.40.0
-rw-r--r--. 1 root root 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
그럼 mediawiki-1.40.0 디렉토리가 생성된 것을 확인 할 수 있다.
이제 mediawiki-1.40.0 디렉토리내의 모든 파일을 /home/mediawiki/ 디렉토리로 모두 이동시킨다.
$ sudo mv /home/mediawiki/mediawiki-1.40.0/* /home/mediawiki/
압축을 해제하면 생긴 mediawiki-1.40.0 디렉토리를 삭제하여 준다.
$ sudo rm -rf /home/mediawiki/mediawiki-1.40.0
다음으로 /home/mediawiki/ 디렉토리 내의 모든 파일 및 디렉토리의 소유자 및 그룹 권한을 midiawiki로 변경한다.
$ sudo chown mediawiki:mediawiki /home/mediawiki/*
다시 /home/mediawiki/ 디렉토리의 내용을 확인해 보자.
$ ls /home/mediawiki/ -al
ls -al
합계 65852
drwx------. 15 mediawiki mediawiki 4096 8월 8 17:04 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
-rw-rw-r--. 1 mediawiki mediawiki 168 11월 14 2021 CODE_OF_CONDUCT.md
-rw-rw-r--. 1 mediawiki mediawiki 19421 11월 5 2019 COPYING
-rw-rw-r--. 1 mediawiki mediawiki 14881 7월 1 01:31 CREDITS
-rw-rw-r--. 1 mediawiki mediawiki 95 11월 5 2019 FAQ
-rw-rw-r--. 1 mediawiki mediawiki 1471807 7월 1 01:31 HISTORY
-rw-rw-r--. 1 mediawiki mediawiki 3638 7월 1 01:31 INSTALL
-rw-rw-r--. 1 mediawiki mediawiki 1530 3월 21 2022 README.md
-rw-rw-r--. 1 mediawiki mediawiki 35283 7월 1 01:52 RELEASE-NOTES-1.40
-rw-rw-r--. 1 mediawiki mediawiki 199 11월 5 2019 SECURITY
-rw-rw-r--. 1 mediawiki mediawiki 4371 7월 1 01:31 UPGRADE
-rw-rw-r--. 1 mediawiki mediawiki 4526 7월 1 01:31 api.php
-rw-rw-r--. 1 mediawiki mediawiki 272497 7월 1 01:31 autoload.php
drwxr-xr-x. 2 mediawiki mediawiki 23 8월 8 16:32 cache
-rw-rw-r--. 1 mediawiki mediawiki 6478 7월 1 01:31 composer.json
-rw-rw-r--. 1 mediawiki mediawiki 125 7월 1 01:12 composer.local.json-sample
-rw-rw-r--. 1 mediawiki mediawiki 1678 7월 1 01:31 docker-compose.yml
drwxr-xr-x. 5 mediawiki mediawiki 4096 8월 8 16:32 docs
drwxr-xr-x. 35 mediawiki mediawiki 4096 8월 8 16:32 extensions
drwxr-xr-x. 2 mediawiki mediawiki 37 8월 8 16:32 images
-rw-rw-r--. 1 mediawiki mediawiki 8301 7월 1 01:31 img_auth.php
drwxr-xr-x. 95 mediawiki mediawiki 4096 8월 8 16:32 includes
-rw-rw-r--. 1 mediawiki mediawiki 1844 7월 1 01:15 index.php
-rw-rw-r--. 1 mediawiki mediawiki 1551 7월 1 01:15 jsduck.json
drwxr-xr-x. 5 mediawiki mediawiki 63 8월 8 16:32 languages
-rw-rw-r--. 1 mediawiki mediawiki 2148 7월 1 01:15 load.php
drwxr-xr-x. 13 mediawiki mediawiki 8192 8월 8 16:32 maintenance
-rw-r--r--. 1 mediawiki mediawiki 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
drwxr-xr-x. 4 mediawiki mediawiki 110 8월 8 16:32 mw-config
-rw-rw-r--. 1 mediawiki mediawiki 4610 7월 1 00:47 opensearch_desc.php
drwxr-xr-x. 5 mediawiki mediawiki 63 8월 8 16:32 resources
-rw-rw-r--. 1 mediawiki mediawiki 998 11월 14 2021 rest.php
drwxr-xr-x. 6 mediawiki mediawiki 85 8월 8 16:32 skins
drwxr-xr-x. 8 mediawiki mediawiki 114 8월 8 16:32 tests
-rw-rw-r--. 1 mediawiki mediawiki 23617 7월 1 01:31 thumb.php
-rw-rw-r--. 1 mediawiki mediawiki 1439 11월 14 2021 thumb_handler.php
drwxr-xr-x. 18 mediawiki mediawiki 4096 8월 8 16:32 vendor
그럼 위와같이 mediawiki-1.40.0 디렉토리 내의 모든 파일이 옮겨져 있고
소유자 및 그룹 권한이 mediawiki로 변경된 것을 확인 할 수 있다.
7. MariaDB 설치 및 DataBase 생성
1) MariaDB 설치 및 실행
WEB 서버의 MariaDB를 다운받아 설치를 진행한다.
마리아 DB를 다운받고 설치를 진행할 저장소를 생성한다.
$ sudo wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
$ sudo chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.6"
※ 해당 포스팅은 mariadb-10.6 버전을 설치하였다.
저장소 생성이 완료되었다면 마리아 DB 패키지를 설치한다.
$ sudo yum install -y mariadb-server
CentOS7을 재부팅 하였을때 마리아 DB가 자동으로 실행되게 설정한다.
$ sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
아래 명령을 통해 마리아 DB 자동실행되도록 설정 되었는지 확인해 본다.
$ sudo systemctl is-enabled mariadb
enabled
`enabled` 로 설정되어 있다면 서비스가 부팅시 자동으로 시작되도록 설정된 것이다.
재부팅시 자동 실행 설정이 완료되었다면 마리아 DB를 실행시켜 준다.
$ sudo systemctl start mariadb
실행을 시키고 마리아 DB의 버전을 확인해 보자
$ mysql -v
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Reading history-file /home/saakmiso/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
10.6.14-MariaDB MariaDB Server이 설치된 것을 확인 할 수 있다.
2) MariaDB 관리자( root ) 계정 비밀번호 변경
마리아 DB의 설치가 완료되었다면 관리자( root ) 계정의 비밀번호를 가장 먼저 바꿔주도록 한다.
마리아 DB의 관리자( root ) 계정으로 접속한다.
$ sudo mysql -u root -p
Enter password : Enter
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB>
※ 최초 설정시 root 계정의 비밀번호는 생성되어 있지 않기 때문에 `Enter`를 클릭하고 넘어간다.
아래 명령을 이용하여 마리아 DB 관리자( root ) 계정에 대한 비밀번호를 변경하여 준다.
MariaDB> ALTER USER 'root'@'localhost' IDENTIFIED VIA 'mysql_native_password' USING PASSWORD('관리자_계정의_비밀번호');
Query OK, 0 rows affected (0.008 sec)
USING PASSWORD( ) 괄호 안에 변경할 비밀번호를 입력해 주면 된다.
변경한 내용을 저장한다.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
`EXIT` 명령으로 마리아 DB의 접속을 종료한다.
MariaDB> EXIT;
Bye
이제 다시 관리자( root ) 계정으로 마리아 DB에 접속해 보자.
$ sudo mysql -u root -p
Enter password : `변경한_관리자_계정의_비밀번호_입력`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB> EXIT;
Bye
Enter password 입력란에 변경한 `관리자_비밀번호`를 입력하면 위와같이 마리아 DB에 접속한 것을 확인 할 수 있다.
3) MediaWiki에서 사용할 DataBase 및 DB Access 계정 생성
마리아 DB 관리자( root ) 계정으로 접속한다.
$ sudo mysql -u root -p
Enter password : `관리자_계정_비밀번호`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB>
MidiaWiki에서 사용할 데이터 베이스( DtaBase )를 먼저 생성한다.
MariaDB> CREATE DATABASE 미디어위키_DB_이름;
생성한 데이터 베이스에 접속하기위한 계정과 비밀번호를 설정한다.
MariaDB> GRANT ALL PRIVILEGES ON 미디어위키_DB_이름.* TO '미디어위키_사용자_계정'@'localhost' IDENTIFIED BY '미디어위키_계정_비밀번호';
Query OK, 0 rows affected (0.003 sec)
변경사항을 반영한다.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
이후 마리아 DB를 빠져 나온다.
MariaDB> EXIT;
Bye
8. VirtualHost 설정
미디어위키에 접속할 도메인을 서버에서 호스팅 하기위해 VirtualHost를 설정한다.
$ sudo vim /etc/httpd/conf.d/virtual-mediawiki.conf
<VirtualHost *:80>
ServerName 도메인_주소
ServerAlias *.도메인_주소
ServerAdmin wicked@sakkmiso.com
DocumentRoot /home/mediawiki
<Directory /home/mediawiki>
Options Indexes FollowSymlinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
※ 주의 : Windows 에서 hosts 파일을 변경시 `midiawiki.com`을 사용하는 경우 접속되지 않는 문제가 발생하였다. 그래서 해당 포스팅에서는 도메인_주소를 `wiki.com`을 사용하여 진행하였다.
VirtualHost 설정한 /virtual-mediawiki.conf 파일의 생성이 완료되었다면 아래와 Apaceh 서버를 재시작 해준다.
$ sudo systemctl restart httpd
9. Web 사이트에서 MidiaWiki 설치 및 환경설정
참고 : https://wikidocs.net/179443
03-2-4. 웹에서 미디어위키 설치
이제 본격적으로 미디어위키 설치를 진행하도록 한다. 설치는 웹 브라우저를 통해 진행하며 아래 스크린샷을 참고해 따라가면 어렵지 않다.  |
데이터베이스 이름 | 미디어위키 데이터베이스 이름 |
데이터베이스 사용자 이름 | 미디워위키 데이터베이스 접속 계정 |
데이터베이스 사용자 비밀번호 | 미디워위키 데이터베이스 접속 계정의 비밀번호 |
DataBase 설정은 `설치할 때와 동일한 계정 사용`을 체크하고 설치를 진행한다.
사용할 미디어위키의 제목과 관리자 계정을 생성한다.
위키 이름 | 위키의 제목 설정 |
프로젝트 이름 공간 | ( 선택 ) 위키 이름과 같은 이름 |
사용자 이름 | 관리자 계정 생성 |
비밀번호 | 비밀번호 입력 |
비밀번호 확인 | 비밀번호 확인 |
이메일 주소 | 관리자가 사용하는 이메일 주소 입력 |
다음 페이지에서는 미디어위키의 사용할 설정과 패키지들을 설치 유무를 지정한다.
※ 해당 포스팅에서 패키지는 전부 설치하였다.
■ 사용 설정
사용자 권한 프로필 | (선택) 계정 만들기 필요 |
저작권 및 라이선스 | (선택) 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 |
이메일 설정 | (선택) 발신 이메일 활성화 |
■ 스킨 및 확장기능 패키지 설치
스킨 패키지 설치 | MinervaNeue, MonoBook, Timeless, Vector 전체 설치 (선택) 원하는 스킨을 선택 사용 |
특수문서 패키지 설치 | CiteThisPage, Echo interwiki, Linter, Nuke, ReplaceText 전체 설치 |
편집기 패키지 설치 | CodeEditor, VisualEditor, WikiEditor 전체 설치 |
파서훅 패키지 설치 | CategoryTree, Cite, ImageMap, InputBox, Math, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData 전체 설치 |
미디어 핸들러 패키지 설치 | PdfHandler 설치 |
스팸 막기 패키지 설치 | AbuseFilter, ConfirmEdit, SpamBlacklist, TitleBlacklist 전체 설치 |
API 패키지 설치 | PageImage 설치 |
기타 패키지 설치 | DiscussionTools, Gadgets, LoginNotify, MultimediaViewer, OATHAuth, SecureLinkFixer, TextExtracts, Thanks 전체 설치 |
■ 그림과 파일 올리기
그림과 파일 올리기 | (체크) 파일 올리기 활성화 |
※ 해당 옵션을 체크해야 파일 업로드시 문제가 발생하지 않는다.
■ 개인설정
• 로고, 워드마크, 태그라인 사이드바 로고등 개인적으로 원하는 설정을 적용한다. |
• 변경하지 않으면 MeidiaWiki의 기본 설정값을 사용한다. |
■ 고급 설정
개체 캐싱을 위한 설정 | (선택) 캐시하지 않음 |
※ 기능이 삭제되지는 않지만 큰 위키 사이트에 속도가 영향을 받을 수 있습니다.
미디어위키 패키지 설치 및 환경설정을 진행 하였다면 `계속` 버튼을 클릭하여 설치를 진행하자.
미디어위키의 설치가 진행된다.
화면 최 하단에 `데이터베이스가 성공적으로 구축되었습니다.`라는 텍스트가 노출되면 `계속` 버튼을 클릭한다.
설치가 완료되면 `LocalSettings.php` 파일을 다운받는다.
`LocalSettings.php` 파일을 다운받았다면 이제 Web Browser상에서 진행할 환경설정은 모두 마무리 되었다.
다운받은 `LocalSettings.php` 파일을 텍스트 편지기로 오픈한다.
오픈하면 전체 코드를 클립보드로 복사한다.
CentOS7의 mediawiki 사용자 디렉토리에 `LocalSettings.php` 파일을 생성하고 복사한 PHP코드를 붙여넣기 한다.
$ sudo vim /home/mediawiki/LocalSettings.php
<?php
# This file was automatically generated by the MediaWiki 1.40.0
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/MainConfigSchema.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;
$wgSitename = "미디어_위키_제목";
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "";
## The protocol and server name to use in fully-qualified URLs
$wgServer = "미디어위키_도메인_주소";
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL paths to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
];
## UPO means: this is also a user preference option
$wgEnableEmail = false;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = "";
$wgPasswordSender = "";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "마리아DB_접속_HOST";
$wgDBname = "마리아DB_미디어위키_DB명";
$wgDBuser = "마리아DB_사용자_계정";
$wgDBpassword = "마리아DB_사용자_비밀번호";
# MySQL specific settings
$wgDBprefix = "";
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";
## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
#$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = "/usr/bin/convert";
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = true;
# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = "ko";
# Time zone
$wgLocaltimezone = "UTC";
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";
$wgSecretKey = "bc8c94cee9346556f19600fa59da8f777b7d47421064dd4d9b81901f6af3c616";
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = "4495eda353dd1ef7";
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/";
$wgRightsText = "크리에이티브 커먼즈 저작자표시-동일조건변경허락";
$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";
# The following permissions were set based on your choice in the installer
$wgGroupPermissions['*']['edit'] = false;
## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = "vector";
# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'AbuseFilter' );
wfLoadExtension( 'CategoryTree' );
wfLoadExtension( 'Cite' );
wfLoadExtension( 'CiteThisPage' );
wfLoadExtension( 'ConfirmEdit' );
wfLoadExtension( 'DiscussionTools' );
wfLoadExtension( 'Echo' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Interwiki' );
wfLoadExtension( 'Linter' );
wfLoadExtension( 'LoginNotify' );
wfLoadExtension( 'Math' );
wfLoadExtension( 'MultimediaViewer' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'OATHAuth' );
wfLoadExtension( 'PageImages' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'ReplaceText' );
wfLoadExtension( 'Scribunto' );
wfLoadExtension( 'SecureLinkFixer' );
wfLoadExtension( 'SpamBlacklist' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'TemplateData' );
wfLoadExtension( 'TextExtracts' );
wfLoadExtension( 'Thanks' );
wfLoadExtension( 'TitleBlacklist' );
wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );
# End of automatically generated settings.
# Add more configuration options below.
※ `LocalSettings.php` 파일은 사용자가 직접 지정한 미디어위키의 환경설정값과 설치한 패키지들의 정보를 가지고 있는것을 확인 할 수 있다.
`LocalSettings.php` 파일에 대하여 소유자 및 그룹을 mediawiki로 변경한다.
$ sudo chown mediawiki:mediawiki /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일의 접근 권한을 755로 변경한다.
$ sudo chmod 755 /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일의 권한이 변경되었는지 확인해 보자.
$ ls /home/mediawiki/LocalSettings.php -al
-rwxr-xr-x 1 mediawiki mediawiki 5906 8월 8 19:05 /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일에 대하여 소유자 및 그룹, 접근권한( 755 )이 변경된 것을 확인 할 수 있다.
이제 브라우저를 통해 MeidaWiki 페이지에 다시 접속해 보자.
위와 같은 MediaWiki 사용에 필요한 모든 작업이 완료된 것을 확인 할 수 있다.
P.S) 미디어 위키 마크다운 에디터 설치 추후 도전해 볼것
Extension:WikiMarkdown - MediaWiki
Extension:WikiMarkdown - MediaWiki
The WikiMarkdown extension allows for markdown syntax to be used on wiki pages using the tag. It is powered by the Parsedown library. Once installed, you can use tags on wiki pages. For example, Emphasis[edit] This is bold text This is bold text Th
www.mediawiki.org
GitHub - kuenzign/WikiMarkdown: MediaWiki extension that allows for markdown syntax to be used on wiki pages
MediaWiki extension that allows for markdown syntax to be used on wiki pages - GitHub - kuenzign/WikiMarkdown: MediaWiki extension that allows for markdown syntax to be used on wiki pages
github.com
'LINUX > CentOS' 카테고리의 다른 글
[CentOS] Docker 설치하기 (4) | 2024.03.05 |
---|---|
[CentOS] Redis 설치 (0) | 2023.12.18 |
[CentOS7] 사용자 계정 생성 및 Directory 만들기 (0) | 2023.07.31 |
[Linux] MariaDB 설치 및 세팅 (6) | 2023.02.23 |
[Linux] CentOS7 - MySQL / MariaDB 데이터 베이스 자동 백업 프로세스 (0) | 2023.01.27 |