Difference between revisions of "About"
Line 307: | Line 307: | ||
− | Go to ip address and see the | + | Go to ip address and see the Ngnix starting message. |
'''1.3 Additional — Install PHP:''' | '''1.3 Additional — Install PHP:''' |
Revision as of 11:32, 3 May 2020
Contents
Setting up my raspberry pi
In my computer:
SD card
1. Format for FAT32 (I used disk utility on mac. Format to MS_DOS). Use more than 8gb, mediawiki can become heavy.
2. Flash ISO to SD card (Raspbian Buster Light, https://www.raspberrypi.org/downloads/raspbian/ ) with a mounter (I've used etcher https://www.balena.io/etcher/ )
With raspi connected to power, internet, screen and keyboard:
01 Default login
Login: pi
Password: raspberry
02 SSH config
$ cd /boot
$ sudo touch ssh
$ sudo reboot
03 Check IP address
$ hostname -i
Response: 192.0.0.0
04 My keyboard wasn't working properly.
I had to change language of keyboard to US instead of UK.
$ sudo raspi-config
Localisation Options
Change Keyboard Layout
Choose US
After using the keyboard I changed back to UK to avoid errors.
05 Change hostname
$ ssh pi@192.0.0.0
$ sudo raspi-config
Choose item no. 2 on the menu: Network Options
Rename hostname to: newhostname
$ reboot
06 Add user
$ sudo adduser name
07 Add new user to sudo
$ sudo adduser name sudo
08 You should be able to login with:
$ ssh name@newhostname
09 I had an error with known hosts.
I removed cached key on my computer:
$ ssh-keygen -R 192.000.0.000
10 Remove default pi user
$ sudo deluser pi
10 Use key-based authentication:
10.1 Add .ssh keys to RPI
10.2 Edit file
$ sudo nano /etc/ssh/sshd_config
Uncomment PassowrdAuthentication and set it to no;
Uncomment PermitRootLogin prohibit-passowrd;
10.3 Reload SSH
$ sudo /etc/init.d/ssh restart
10.4 Reboot RPi
$ sudo reboot
10.5 In my computer:
$ cd ~/.ssh
$ sudo nano config
Add to the document:
Host newhostname User name Hostname 192.000.0.0 Port 22 Identityfile /Users/ritagraca/.ssh/id_rsa Serveraliveinterval 30
10.6 To ssh to my pi now:
$ ssh newhostname
11. Set static ip address for LAN
$ sudo nano /etc/dhcpcd.conf
Edit this part:
#Static IP text block interface eth0 static ip_address=192.000.0.00 static routers=192.000.0.0 static domain_name_servers=8.8.8.8 8.8.4.4
Note:
I shut down my pi, IP changed and couldn't ssh to it. If this happened already, connect pi again to screen, find new IP with $ config command, and put new IP in ~/.ssh, step 10.5.
Installing Mediawiki on my pi
1. Install Apache
$ sudo apt update
$ sudo apt install apache2 -y
I will remove Apache and install Ngnix in the next steps, see Fixing my very slow MediaWiki.
2. Download Mediawiki
$ mkdir Downloads
$ cd Downloads
$ wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.0.tar.gz (check the version)
$ tar -xvzf mediawiki-1.34.0.tar.gz
3. Move
$ sudo mkdir /var/lib/mediawiki
$ sudo mv mediawiki-*/* /var/lib/mediawiki
4. Linking
$ cd /var/www/html
$ sudo ln -s /var/lib/mediawiki mediawiki
5. Updating
$ sudo apt-get update
$ sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring
5.1 Error: Package 'mysql-server' has no installation candidate
Fix with:
$ sudo apt install mariadb-server-10.3 php-mysql
5.2 Error: MySQL didn't ask for password so:
$ sudo mysql_secure_installation
It will ask for password now.
6. Database
$ sudo mysql -u root -p
Enter password. Type:
mysql> CREATE DATABASE wiki; mysql> USE wiki;
mysql> CREATE USER 'name'@'localhost' IDENTIFIED BY 'yourpassword'; mysql> GRANT ALL PRIVILEGES ON wiki.* TO 'name'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit
7. Open browser
http://ip_address_of_pi/mediawiki
On the website, it will ask for database connection settings:
localhost database: wiki user: name password: yourpassword
Continue installation.
8. After setting up, it will ask to save LocalSettings.php. Download to your computer.
9. Move file from your computer to pi.
In your computer:
$ scp LocalSettings.php name@hostname:/home/name/Downloads
10. Move from pi to the right place.
In your pi:
$ sudo mv ~/Downloads/LocalSettings.php /var/lib/mediawiki/
some more help to setup mediawiki http://willbeone-techtips.co.za/2018/02/12/installing-mediawiki-raspberry-pi3/
Fixing my very slow MediaWiki
My wiki is painfully slow. Things I'll try:
1. Switch from Apache to Ngnix.
2. Swap to SanDisk Ultra 64gb a2. Update — The sd card made the most difference. Amazing.
0. Backing up my raspbery pi image
First, I backed up my raspbery pi image. Tutorial for mac: https://medium.com/@ccarnino/backup-raspberry-pi-sd-card-on-macos-the-2019-simple-way-to-clone-1517af972ca5
1. Switching from Apache to Ngnix
1.1 Uninstalling Apache:
$ sudo apt-get --purge remove apache2
$ sudo apt-get autoremove
1.2 Installing Ngnix:
$ sudo apt update
$ sudo apt install nginx
$ sudo /etc/init.d/nginx start
Go to ip address and see the Ngnix starting message.
1.3 Additional — Install PHP:
https://www.raspberrypi.org/documentation/remote-access/web-server/nginx.md
1.4 I uninstalled mediawiki:
$ rm -rf /var/www/mediawiki
1.5 Started from step Installing Mediawiki
Extension Semantic MediaWiki
1. Download composer
More here https://getcomposer.org/doc/00-intro.md#installation-nix
1.1 Download the installer to the current directory
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
1.2 Verify the installer SHA-384
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
1.3 Run the installer
$ php composer-setup.php
1.4 Remove the installer
$ php -r "unlink('composer-setup.php');"
1.5 Global Access
Now that I have composer.phar, I will put it in /usr/local/bin to have global access.
$ sudo mv composer.phar /usr/local/bin/composer
This means that instead of starting with $ php composer.phar, I just write $ composer.
Some more help to install composer https://www.semantic-mediawiki.org/wiki/Help:Installation/Using_Composer_with_MediaWiki_1.25%2B
2. Create and edit the file composer.local.json in /var/www/html/mediawiki.
$ cd /var/www/html/mediawiki
$ sudo nano composer.local.json
paste this code:
{ "require": { "mediawiki/semantic-media-wiki": "~3.1" } }
3. Run the update script
$ composer update --no-dev
3.1 Change permissions:
Gives error:
file_put_contents(./composer.lock): failed to open stream: Permission denied
Give permissions:
$ chmod -R 777 ./
4. Maintenance script
$ php maintenance/update.php
5. Enable Semantic MediaWiki on LocalSetting.php
Write in the end of the file:
enableSemantics( ' http://192.000.0.0/mediawiki/ ' );
6. Repeat step 4.
I had a error with database. I had to run the update script again. If when running this script there's error with permissions, just change permissions, step 3.1
7. Uploading files to the server
Check first folder permissions, and change if necessary:
$ chmod -R 777 ./
To allow bigger files:
7.1. Edit this file
$ sudo nano /etc/nginx/nginx.conf
7.2 Add this in the bottom of the http part:
# set client body size to 2M # client_max_body_size 2M;
7.3 Reload the server
$ service nginx reload