Child pages
  • CentOS 7 with MariaDB

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
sudo yum -y install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload


Middleware Installation

Web Server

...

and PHP

WEKO utilize Groonga and Mroonga for the full text search engine.
Groonga: http://groonga.org/, Mroonga: http://mroonga.org/
Following instruction refers http://mroonga.org/docs/install/centos.html#centos-7-with-the-official-mariadb-package

...

languagetext

...

Install Apache and PHP.

Code Block
languagetext
sudo yum install -y httpd
sudo systemctl enable mariadbhttpd
sudo systemctl start mariadbhttpd
sudo yum install -y http://packagesrpms.groongafamillecollet.orgcom/centosenterprise/groongaremi-release-1.1.0-1.noarch.rpm
sudo 7.rpm
sudo yum makecache
sudo yum install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo yum install -y--enablerepo=remi-php56 php php-mbstring php-gd php-xml php-mysql
sudo chkconfig httpd on
sudo chkconfig mysqld on
sudo service httpd start
sudo service mysqld start

At this moment, don't set the root password for MySQL
 

Full Text Search and MySQL

mysqlnd

MariaDB and Full Text Search Engine

WEKO utilize Groonga and Mroonga for the full text search engine.
In order to solve the dependency, version of the groonga  have to be 4.1.0.1.

...

languagetext

...

Groonga: http://groonga.org/, Mroonga: http://mroonga.org/
Following instruction refers  http://

...

mroonga.

...

org/docs/install/centos

...

Library for extract the text from PDF file.html#centos-7-with-the-official-mariadb-package
MariaDB a superset Mroonga from version 10 as a plugin.

Create /etc/yum.repos.d/mariadb.repo by editor.
Set the MariaDB installation destination.

Code Block
languagetext
sudo# yumMariaDB install -y poppler-utils

Other Middleware

Library for making PDF thumbnail

Code Block
languagetext
sudo yum install -y ImageMagick

...

10.1 CentOS repository list - created 2016-07-15 04:53 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Install MariaDB and Mroonga.

Code Block
languagetext
sudo rpm -ivh [RPM URL for additional repository]

Library for making PDF cover page.

Code Block
languagetext
yum makecache
sudo yum install -y pdftk

Library for showing multimedia contents.

Code Block
languagetext
sudo yum install -y ffmpeg

Middleware Setup and Configuration

Database

Setup root password
Code Block
languagetext
sudo /etc/init.d/mysqld restart
/usr/bin/mysqladmin -u root password 'root-no-password'
Delete anonymous user from the initial database.
Code Block
languagetext
mysql -u root -proot-no-password
use mysql
delete from user where user='';
Create database for WEKO(NetCommon) installation
Code Block
languagetext
create database nc2db default character set UTF8;
Create an database user and assign the privilege to the previously created db.
Code Block
languagetext
grant all on nc2db.* to nc2user@localhost identified by 'nc2pass';

PHP

Open /etc/php.ini by editor.
Modify memory related configuration. Each size have to have the relationship as follows.
upload_max_filesize < post_max_size < memory_limit
For example,

Code Block
languagetext
memory_limit = 128M;
post_max_size = 64M;
upload_max_filesize = 32M;

Configure for UTF-8 character code .

Code Block
languagetext
[mbstring]
mbstring.language = neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off

You also need to specify the timezone in the /etc/php.ini

Code Block
languagetext
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Asia/Tokyo"

...

MariaDB-client MariaDB-server
sudo systemctl enable mariadb
sudo systemctl start mariadb

mysql -u root
MariaDB [(none)]> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
MariaDB [(none)]> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
MariaDB [(none)]> CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
MariaDB [(none)]> CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
MariaDB [(none)]> CREATE FUNCTION mroonga_escape RETURNS STRING SONAME 'ha_mroonga.so';
MariaDB [(none)]> exit

Other Middleware

Library for extract the text from PDF file.

Code Block
languagetext
sudo yum install -y poppler-utils

Library for making PDF thumbnail

Code Block
languagetext
sudo yum install -y ImageMagick

Library for analyzing the search keyword from a external search engine.

Code Block
languagetext
sudo yum -y install epel-release
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sudo yum -y install mecab

Library for showing multimedia contents.

Code Block
languagetext
sudo yum install -y ffmpeg

Library for extracting the Word text.

Save as "wv-1.2.4.tar.gz" to get the source code from https://sourceforge.net/projects/wvware/files/wv/1.2.4/.

wv-1.2.4.tar.gz

Code Block
languagetext
sudo /etc/init.d/httpd restart

NetCommons2

Before Install Preparation

Install wget first.

Code Block
languagetext
sudo yum install -y wget

...

 yum -y install glib2-devel libgsf libgsf-devel gcc gcc-c++ elinks

sudo tar -zxvf wv-1.2.4.tar.gz
cd wv-1.2.4/
sudo ./configure
sudo make
sudo make install

Library for extracting the Excel and Power Point text.

Code Block
languagetext
sudo wget -c "http://wwwrepo.netcommonsiotti.orgbiz/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89CentOS/%E3%82%B3%E3%82%A2%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8/?action=cabinet_action_main_download&block_id=93&room_id=1&cabinet_id=1&file_id=2811&upload_id=6210" -O netcommons-2.4.2.1.tar.gz

...

6/x86_64/xlhtml-0.5-17.el6.lux.1.x86_64.rpm
sudo yum -y localinstall xlhtml-0.5-17.el6.lux.1.x86_64.rpm

Library for making PDF cover page.

Code Block
languagetext
tarsudo zxvf netcommons-2.4.2.1.tar.gz

Copy it to the web application directory.

Code Block
languagetext
sudo cp -rp NetCommons-2.4.2.1/html /var/www/html/nc2

Change file owner to be able to access by web server

Code Block
languagetext
cd /var/www/html/nc2
sudo chown -R apache:apache *

...

wget https://copr.fedorainfracloud.org/coprs/robert/gcj/repo/epel-7/robert-gcj-epel-7.repo -P /etc/yum.repos.d
sudo wget https://copr.fedorainfracloud.org/coprs/robert/pdftk/repo/epel-7/robert-pdftk-epel-7.repo -P /etc/yum.repos.d
sudo yum install -y pdftk

Middleware Setup and Configuration

Database

Setup root password
Code Block
languagetext
sudo systemctl restart mariadb
/usr/bin/mysqladmin -u root password 'root-no-password'
Delete anonymous user from the initial database.
Code Block
languagetext
DocumentRoot "/var/www/html/nc2/htdocs"

...

This is not a requirement, however, if you add the following expression in the httpd.conf, you can utilize the URL-rewrite option in OAI-PMH Configuration.

Please refer to User Manual (3.2.9.3.3 OAI-PMH Configuration) to know how to utilize this .htaccess configuration.

Code Block
languagetext
    <Directory /var/www/html/nc2/htdocs>
        AllowOverride All
    </Directory>

...

mysql -u root -proot-no-password
MariaDB [(none)]> use mysql
MariaDB [mysql]> delete from user where user='';
Create database for WEKO(NetCommon) installation
Code Block
languagetext
sudo /etc/init.d/httpd restart

Installation

Access to the site you will install the NC2 by browser. You can see the installation page like this.
In this page, select English anyway from the pull-down menu.

Image Removed

Press Next button.

Image Removed

This step requires to input general configuration parameters like this.

ParamterValue
Site Name"as you want"
Databasemysqli
Database Hostnamelocalhost
Database Usernamenc2user
Database Passwordnc2pass
Database Namenc2db
Table Prefixnc2
No
NetCommons Virtual Path"your server address"

 

Image Removed

Just need to confirm your parameters. Press Next if it is OK.

Image Removed

Green signal means there is no problem with your installation process so far, then Next.

Image Removed

Here is also then press Next.

Image Removed

Here is also then press Next.

Image Removed

Here is also then press Next.

Image Removed

Here is also then press Next.

Image Removed

In this page, you will create an administrator account.

Image Removed

Press Next button, if there is no problem.

Image Removed

Press Next button, if there is no problem.

Image Removed

Congratulations! Installation of NetCommons2 has been completed.

Image Removed

 

WEKO

Checkout WEKO module

In order to download the latest WEKO module from the source code repository, install the svn first

Code Block
languagetext
sudo yum install -y subversion

Checkout multilingual WEKO from the SVN site, then copy it to the NC2 module directory.
The current instruction is to utilize the trunk source code but we will prepare the stable one soon.

Code Block
languagetext
svn co http://forge.at.nii.ac.jp/svn/nc/repository/trunk repository
sudo cp -rp repository /var/www/html/nc2/webapp/modules/

Install WEKO module

Login to the NC2 and click Control Panel in the header menu.

Image Removed

Click the "Module Manager" icon, then you can find WEKO in the "Modules not yet installed" tab.
Let's click "Install" link which located right hand side of WEKO module name.

Image Removed

If you can find the word "Succesfully installed." at the end of the install log,  congratulations!
Installation WEKO into the NC2 has been completed.

Image Removed

Customization for Multilingual

Only English, Chinese and Japanese are available by the original NC2. Therefore, we need to apply patch for more multilingual function. First you need to checkout the patch and just copy it to the NC2 application directory.

Code Block
languagetext
svn co http://forge.at.nii.ac.jp/svn/nc/nc2multilang/trunk nc2multilang
cd nc2multilang
sudo cp -rp webapp /var/www/html/nc2/

MySQL DB also have to be modify for this customization.
In this SQL file database prefix for NC2 is assumed as "nc2" as has been instructed previously.
If you apply different prefix, please modify SQL file appropriately.

Code Block
languagetext
mysql -u nc2user -pnc2pass
mysql> use nc2db
mysql> source AddLanguageForNC2SQL.sql

Completed!

Show WEKO Block

Go to the NC2 top page and click "Setting mode on" link in the header.
After switching to the Setting Mode, you can select WEKO module in the drop down menu.

Image Removed

Now you paste WEKO module on the top page. Here is the control panel page of WEKO.
In order to show the language select function, please click the "management" tab.
Image Removed

In the [management] => [display setting] tab, you can find "language setting" menu.
In this menu, that is, [language setting] => [select language setting], please select "Display" (default is "Hide") from the drop down list.

Image Removed

Then click "commit" button at the bottom of the page.

Image Removed

You can exit from the control panel by clicking "Quit" link at the right hand side of the WEKO block header.

Image Removed

For multilingual, web page for each language have to be prepared by the following procedure.
1. As same as showing the WEKO block, go to Setting Mode and show language and menu module.
2. In the language module, select the language which can to be selected in your page.
3. After selecting an language, create a new page under the public space by using the menu module.
4. In the page created in 2, show WEKO block.
5. Same procedure have to be repeated for other language. 
 

# 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=Permissive# SELINUXTYPE= can take one of these two values:#     targeted - Targeted processes are protected,#     mls - Multi Level Security protection.SELINUXTYPE=targeted

 

sudo yum install mysql-server

 

WEKO utilize 

...

MariaDB [mysql]> create database nc2db default character set UTF8;
Create an database user and assign the privilege to the previously created db.
Code Block
languagetext
MariaDB [mysql]> grant all on nc2db.* to nc2user@localhost identified by 'nc2pass';

PHP

Open /etc/php.ini by editor.
Modify memory related configuration. Each size have to have the relationship as follows.
upload_max_filesize < post_max_size < memory_limit
For example,

Code Block
languagetext
memory_limit = 1024M;
post_max_size = 64M;
upload_max_filesize = 32M;

Configure for UTF-8 character code .

Code Block
languagetext
[mbstring]
mbstring.language = neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off

You also need to specify the timezone in the /etc/php.ini

Code Block
languagetext
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Asia/Tokyo"

NetCommons2

Before Install Preparation

Install wget first.

Code Block
languagetext
sudo yum install -y wget

Download the latest NetCommons core package (Following command download version 2.4.2.1).

Code Block
languagetext
wget -c "http://www.netcommons.org/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89/%E3%82%B3%E3%82%A2%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8/?action=cabinet_action_main_download&block_id=93&room_id=1&cabinet_id=1&file_id=2811&upload_id=6210" -O netcommons-2.4.2.1.tar.gz

NetCommons-2.4.2.1.tar.gz

Uncompress the downloaded file.

Code Block
languagetext
tar zxvf netcommons-2.4.2.1.tar.gz

Copy it to the web application directory.

Code Block
languagetext
sudo cp -rp NetCommons-2.4.2.1/html /var/www/html/nc2

Change file owner to be able to access by web server

Anchor
chowntoapache
chowntoapache

Code Block
languagetext
sudo chown -R apache:apache /var/www/html/nc2

If you would like to access to NetCommons as a top page, you should modify /etc/httpd/conf/httpd.conf as follows.

Code Block
languagetext
DocumentRoot "/var/www/html/nc2/htdocs"

Anchor
allowoverride
allowoverride

This is not a requirement, however, if you add the following expression in the httpd.conf, you can utilize the URL-rewrite option in OAI-PMH Configuration.

Please refer to User Manual (3.2.9.3.3 OAI-PMH Configuration) to know how to utilize this .htaccess configuration.

Code Block
languagetext
    <Directory "/var/www/html/nc2/htdocs">
        AllowOverride All
    </Directory>

Then restart the httpd

Code Block
languagetext
sudo systemctl restart httpd

Installation

Access to the site you will install the NC2 by browser. You can see the installation page like this.
In this page, select English anyway from the pull-down menu.

Image Added

Press Next button.

Image Added

This step requires to input general configuration parameters like this.

ParamterValue
Site Name"as you want"
Databasemysqli
Database Hostnamelocalhost
Database Usernamenc2user
Database Passwordnc2pass
Database Namenc2db
Table Prefixnc2
No
NetCommons Virtual Path"your server address"

 

Image Added

Just need to confirm your parameters. Press Next if it is OK.

Image Added

Green signal means there is no problem with your installation process so far, then Next.

Image Added

Here is also then press Next.

Image Added

Here is also then press Next.

Image Added

Here is also then press Next.

Image Added

Here is also then press Next.

Image Added

In this page, you will create an administrator account.

Image Added

Press Next button, if there is no problem.

Image Added

Press Next button, if there is no problem.

Image Added

Congratulations! Installation of NetCommons2 has been completed.

Image Added

 

WEKO

Download WEKO module

Download the latest stable WEKO from the code repository.

Code Block
languagetext
wget -O weko.tar.gz https://bitbucket.org/niijp/weko/get/master.tar.gz

Download multilingual WEKO from the code repository as well, then copy it to the NC2 module directory.

Code Block
languagetext
tar zxvf weko.tar.gz
mv niijp-weko-[commit number] repository
sudo cp -rp repository /var/www/html/nc2/webapp/modules/
sudo chown -R apache:apache /var/www/html/nc2/webapp/modules/repository

Install WEKO module

Login to the NC2 and click Control Panel in the header menu.

Image Added

Click the "Module Manager" icon, then you can find WEKO in the "Modules not yet installed" tab.
Let's click "Install" link which located right hand side of WEKO module name.

Image Added

If you can find the word "Succesfully installed." at the end of the install log,  congratulations!
Installation WEKO into the NC2 has been completed.

Image Added

Customization for Multilingual

Only English, Chinese and Japanese are available by the original NC2. Therefore, we need to apply patch for more multilingual function. First you need to checkout the patch and just copy it to the NC2 application directory.

Code Block
languagetext
wget -O nc2multilang.tar.gz https://bitbucket.org/niijp/nc2-patch-multilanguage/get/master.tar.gz
tar zxvf nc2multilang.tar.gz
cd niijp-nc2-patch-multilanguage-[commit number]

sudo cp -rp webapp /var/www/html/nc2/

MySQL DB also have to be modify for this customization.
In this SQL file database prefix for NC2 is assumed as "nc2" as has been instructed previously.
If you apply different prefix, please modify SQL file appropriately.

Code Block
languagetext
mysql -u nc2user -pnc2pass
mysql> use nc2db
mysql> source AddLanguageForNC2SQL.sql

Completed!

Show WEKO Block

Go to the NC2 top page and click "Setting mode on" link in the header.
After switching to the Setting Mode, you can select WEKO module in the drop down menu.

Image Added

Now you paste WEKO module on the top page. Here is the control panel page of WEKO.


Setting up for the External Commands

In the [Management] => [Server Setting] tab, you can find "Server Environment" menu.
Clicking the [Execute]  button automatically search the commands and change signal color to green if the system has.
In order to store the path to the commands, click the [Commit] button after this operation. 

Image Added 

 

Setting up for the Language Selection

In order to show the language select function, please click the "management" tab.
Image Added

In the [management] => [display setting] tab, you can find "language setting" menu.
In this menu, that is, [language setting] => [select language setting], please select "Display" (default is "Hide") from the drop down list.

 Image Added

 

Then click "commit" button at the bottom of the page.

 Image Added

 

You can exit from the control panel by clicking "Quit" link at the right hand side of the WEKO block header.

 Image Added

 

For multilingual, web page for each language have to be prepared by the following procedure.

  1. As same as showing the WEKO block, go to Setting Mode and show language and menu module.
  2. In the language module, select the language which can to be selected in your page.
  3. After selecting an language, create a new page under the public space by using the menu module.
  4. In the page created in 2, show WEKO block.
  5. Same procedure have to be repeated for other language. 

Finish!