Category: Uncategorized

Nextcloud in CentOS 7 guide

Suggested steps:

I suggest using Apache, because Nginx need more time to debug in some parts.

I suggest using BT panel (or AApanel for Eng ver -- https://www.aapanel.com/index.html)

Once you installed NextCloud, go to http://domain/index.php/settings/admin/overview to check any error that occurred.

  1. for error like “/.well-known/caldav” and “/.well-known/carddav” -> turn on apache rewrite function, restart apache and make sure you add AllowOverride All on Nextcloud directory on conf file.
  2. Suggest PHP 7.4. Install below php plugin: fileinfo, opcache, opcache, imagemagick, gmp. memory_limit set above 2GB. Then restart PHP
  3. for backup procedure, first you can take a reference in https://docs.nextcloud.com/server/15/admin_manual/maintenance/restore.html. Simply using command
rsync -Aax nextcloud-dirbkp/ nextcloud/

to backup folders. using command

sqlite3 data/owncloud.db .dump > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak

to backup SQlite.

Run puppeter in Cent OS 7 CLI mode

Required steps:

  1. make sure you have installed below packages:
pango.x86_64
libXcomposite.x86_64
libXcursor.x86_64
libXdamage.x86_64
libXext.x86_64
libXi.x86_64
libXtst.x86_64
cups-libs.x86_64
libXScrnSaver.x86_64
libXrandr.x86_64
GConf2.x86_64
alsa-lib.x86_64
atk.x86_64
gtk3.x86_64
ipa-gothic-fonts
xorg-x11-fonts-100dpi
xorg-x11-fonts-75dpi
xorg-x11-utils
xorg-x11-fonts-cyrillic
xorg-x11-fonts-Type1
xorg-x11-fonts-misc

use yum install to install above dependencies should be fine. And be careful your are 64 bit or 32 bit.

2. Install VNC server:

yum install tigervnc-server

and make sure you set your password through

vncpasswd

and know what to start/stop/kill vnc

systemctl start [email protected]:1.service
systemctl stop [email protected]:1.service

vncserver -kill :1

and your port should be 5901 (if you use 1.service)

3. use gnome-terminal:

export DISPLAY=:0
gnome-terminal --display=:0

4. in your js file, make sure your browser has below arguments:

const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});

Then your js file:

node index.js

6. If you need to use cronjob, you can try like this:

export DISPLAY=:0; node index.js

Laravel with Nginx config file example

Just for my reference.

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
            try_files $uri $uri/ =404;
    }
}

Can’t access the website due to permission cause by SELinux

Problem: The folder permission all ready to set the appropriate one (744, etc). but still can not access some page, or some of the pages can not access due to permission denied.

Solution: use chcon -t httpd_sys_rw_content_t folder/ -R, replace folder/ with your folder

chcon -t httpd_sys_rw_content_t folder/ -R