Updating phpBB 3.0.x to phpBB 3.1.x

Updated recently phpBB 3.0.12 to 3.1.8, auto update here does not help, so I will describe the procedure for updating the items:

1) Be sure to make a backup copy of the files and the database of the forum. We will make the standard topic prosilver, disable the rest of the styles and modules, as they will not work on the new version of phpBB.

2) Download the archive with the new version of phpBB from the official site “https://www.phpbb.com/downloads/”.

3) On the server, delete all the files and folders of the forum except the file config.php and directories images, files, store.

4) Unpack the downloaded archive, delete the file config.php and directories images, files, store. Move the rest of the files to the server.

5) In the browser, open the forum address by specifying a database update script, for example http://FORUM/install/database_update.php and following the instructions, perform the update.
At this point, I had an error:

PHP Fatal error:  Uncaught exception 'Twig_Error_Loader' with message 'Unable to find template "login_body.html" ...

I suspect that the information in the database in the phpbb_migrations table did not allow the script to fully update. So I solved the problem by restoring the old forum base by clearing this phpbb_migrations table via phpMyAdmin or by sql query:

TRUNCATE TABLE phpbb_migrations

And again running the database update script http://FORUM/install/database_update.php, which this time performed the update correctly.

At the end of the update, remove the install directory and clear the cache via the administration panel of the forum. Done.

See also:
Solution of error “A module already exists” and “The installer detected a timeout” when updating phpBB

Installing and configuring ownCloud

ownCloud – Web application for synchronization, sharing and remote storage of data in the “cloud”.

Perform the installation of ownCloud for example in Ubuntu:

sudo apt-get install owncloud

I noticed that in Ubuntu, at the time of installation I tested on Ubuntu 14.04.03 LTS, canceled the installation of ownCloud from the repository, so you can add a third party and install or update from it. We look at the sources https://software.opensuse.org/package/owncloud

On Ubuntu 14.04, for example, installation from a third-party repository is performed by the following commands:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get install owncloud

The next step is to open the web interface http://server/owncloud in the browser and create the login and password for the administrator account, as well as specify the type of database to store the settings, accounts and other information owncloud.
For better performance, it’s better to use the mysql database, for this we will install the MySQL server and create it:

sudo apt-get install mysql-server
mysql -u root -p
create database owncloud;
grant all privileges on owncloud.* to owncloud@localhost  identified by 'ПАРОЛЬ';

To be able to upload large files into owncloud, you will need to edit /etc/php5/apache2/php.ini by changing the upload_max_filesize and post_max_size in it, for example to 2048mb.

See also:
Install Nextcloud in Ubuntu

Configuring printing in Firefox

To configure printing in Mozilla Firefox, open the settings menu on the right, select “Print “, in the preview window that appears, click the “ Options” button, in the next window that appears, put the tick “Compress to page width, and in the “Fields and headers and footers” tab, specify the required fields, in my case it was reduced to 1, because the checks were printed on a narrow tape of the thermal printer and standard Only a couple of characters fit in one line.

The second option is to type and open in the address bar:


Click “I take the risk!”
In the field “Search” type:


Right-click on the desired printer and select “Reset.”

If this does not help, check the print settings in the printer properties, in the operating system control panel, and try printing in other browsers.

Configuring UPnP in MikroTik

UPnP (Universal Plug and Play) – universal automatic configuration of network devices, automatically opens ports for p2p applications, games, etc.

In the Winbox settings you can find the “IP” – “UPnP“.

To enable it, check Enabled.

Now you need to specify interfaces, click “Interfaces” and “Add New“.
We’ll add an external WAN port, usually ether1-gateway.
Add an internal port or bridge, such as a bridge.
This completes the configuration.

I’ll give an example of how this will look through the console:

ip upnp set enabled=yes
ip upnp interfaces add interface=ether1-gateway type=external
ip upnp interfaces add interface=bridge type=internal

How to record and watch the demo in Counter-Strike Global Offensive

To record a demo in CS:GO, you need to open the console with the ~ key during the game, it is near the Esc key.
If the console does not open, then it probably is disabled in the settings, open the game settings and select “Yes” where “Enable Developer Console (~)”.

Then, in the console window that opens, type the command (where NAME is any name of the demo):

record NAME

To stop demo recording in the console, type:


The demo file will be saved to the directory with CS:GO, for example C:\Program Files\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\NAME.dem, other demos should be placed in the same directory.

To view demos, you need to open the player, for this, in the console, type:




Or press the key combination Shift + F2.
Next, in the opened player, click “Load …” and select the demo.

During viewing, you can switch between players left/right keys, CTRL – opens the map, Spacebar will switch the camera to free flight mode.

What is DHCP and how does it work?

DHCP – Dynamic Host Configuration Protocol in a TCP / IP network.

I will describe the possible types of DHCP messages:
DHCPDISCOVER — customer request for addresses.
DHCPOFFER — the server’s offer to get the address.
DHCPREQUEST — a client request for an address (suggested by the server in DHCPOFFER).
DHCPACK — server confirmation of the issuance of the address.
DHCPDECLINE — the client’s refusal to receive the proposed address (for example, when the network is already using someone the proposed IP).
DHCPNAK — failure of the server to issue the requested address.
DHCPRELEASE — notification of the client about the release of the address.
DHCPINFORM — customer request for additional parameters.

I will describe the process of successfully obtaining a DHCP client IP address from a DHCP server:
1) DHCP client from IP address through UDP port 67 sends to network IP address broadcast message DHCPDISCOVER “I want to get IP address”.
2) A DHCP server or several DHCP servers, if there are several of them, receive this message and reply to the client from their IP via UDP port 68 with the message DHCPOFFER “I propose an IP address”. The message is sent to the broadcast address or the gateway address if the client is on another network.
3) The DHCP client receives this message or several messages and responds from the IP address to only one DHCP server with the DHCPREQUEST message “Yes, I want this IP address”.
4) The DHCP server sends a DHCPACK message “I assign you this IP address” in response.
Since the IP address has a lease time after which it is released and the DHCP server can issue it for example to another client, the DHCP clients usually request the renewal with a DHCPREQUEST message and receive a DHCPACK response.

I will describe the composition of the DHCP message:
op (type of message, for example DHCPDISCOVER, size 1 byte)
htype (type of hardware address, size 1 byte)
hlen (length of hardware address, for example 6 for MAC address, size 1 byte)
hops (the number of relay agents between the server and the client, the clients set the value to 0, the size of 1 byte)
xid (Transaction ID, generated by the client at the beginning, size 4 bytes)
secs (the elapsed time in seconds from the time of requesting the receipt of the address can be 0, the size of 2 bytes)
flags (field for flags, size 2 bytes)
ciaddr (The IP address of the client, for example, if it requests a lease extension, the size is 4 bytes)
yiaddr (IP address offered by the server to the client, size 4 bytes)
siaddr (Server IP address, size 4 bytes)
giaddr (IP address of the relay agent, size 4 bytes)
chaddr (hardware client address (MAC), size 16 bytes)
sname (server name, 64 bytes)
file (the name of the boot file, can be used to boot the operating system over the network, 128 bytes)
options (additional options)