ubuntu를 18.04로 업그레이드하면서 php버전이 7.2.x 로 올라갔습니다.
기존에 설치되어 있던 미디어 위키 페이지에 접속하니 아래와 같은 에러가 발생하고 페이지가 열리지 않습니다.
[php7:error] [pid 12782] [client XXX] PHP Fatal error: Uncaught TypeError: Argument 1 passed to wfReportException() must be an instance of Exception, instance of Error given, called in /...../includes/Exception.php on line 348 and defined in /...../includes/Exception.php:285\nStack trace:\n#0 /...../includes/Exception.php(348): wfReportException(Object(Error))\n#1 [internal function]: wfExceptionHandler(Object(Error))\n#2 {main}\n thrown in /....../includes/Exception.php on line 285
미디어 위키 버전을 올려 주어야 합니다. 아래 페이지를 참고하고 진행했습니다.
https://www.mediawiki.org/wiki/Manual:Upgrading/ko
크게, 아래의 순서로 진행됩니다.
1. 만일의 사태를 대비해서 사용중이던 DB 백업
2. apache2 관련 모듈 설치 및 재시작
3. mediawiki 다운로드 하고 LocalSettings.php 카피
4. LocalSettings.php 수정
1. DB 백업 : 만일의 사태를 대비한 것이니 꼭 백업해 둡니다.
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
2. 아래 커맨드로 아파치2 관련 모듈을 설치해줍니다.
sudo apt-get install -y imagemagick php7.2-fpm php7.2-intl php7.2-xml php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql php7.2-mysql php-apcu php7.2-zip
sudo apache2 restart
3. 미디어위키 최신버전을 다운 받고, 기존 설정을 카피 해줍니다.
wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.1.tar.gz
tar xvzf mediawiki-1.34.1.tar.gz
# 적당한 폴더로 이름 변경합니다.
mv mediawiki-1.34.1 wiki-new
cd wiki-new
# 압축을 풀면 images 폴더가 보이는데, images-new 로 백업해 둡니다.
mv images images-new
# 기존에 사용중이던 images 폴더를 가져옵니다.
cp -r ../wiki-old/images/ .
# 권한을 수정합니다.
find images -type -d | xargs chmod 777
# htaccess 파일을 가져옵니다.
cp images-new/.htaccess images/
# 기존에 사용중이던 LocalSettings.php 파일을 가져옵니다.
cp ../wiki-old/LocalSettings.php .
4. LocalSettings.php 파일 수정 및 업데이트
$wgServer = "https://URL:PORT";
를 추가합니다. 저는 $wgSitename 앞에 추가해 주었습니다.
$wgDefaultSkin = "monoblock"; 뒤에 아래를 추가합니다.
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
저장하고, 나옵니다. 아래 update.php 를 실행하면 업데이트가 진행됩니다.
cd maintenance
php update.php
마지막에 "Done in 29 s." 이렇게 나오면 성공한 것입니다.
모든 작업이 완료되었으니 이제 사이트에 접속해보면 됩니다 !!
LocalSettings.php 마지막에 아래 설정을 추가하면 문제 발생시, 디버깅에 필요한 자세한 정보를 얻을 수 있습니다.
$wgShowExceptionDetails = true;
* DB 연결이 안될 경우 아래 명령을 실행해줍니다.
sudo php5enmod mysql
sudo service apache2 restart
'Linux' 카테고리의 다른 글
Ubuntu 14.04 에서 18.04 로 업그레이드 / DNS 서버 설정(고정IP) (0) | 2020.05.13 |
---|---|
Ubuntu 14.04 에서 18.04 로 업그레이드 / bugzilla 5.0.6 upgrade (0) | 2020.05.06 |
Ubuntu 14.04 에서 18.04 로 업그레이드 / samba 공유 시, 네트워크 상에 서버가 두번 보이는 문제 (0) | 2020.05.01 |
Ubuntu 14.04 에서 18.04 로 업그레이드 / systemd 관련 부팅 문제 (0) | 2020.04.30 |
ubuntu 12 에 php 5.5.x 설치하기 (0) | 2019.06.14 |