Postawienie strony/bloga WordPress na własnym komputerze

Będziemy potrzebowali systemu operacyjnego, tutaj będzie to Linux, dystrybucja Ubuntu 22.04. Serwerem na którym będą przechowywane pliki będzie Apache. Będzie potrzebna jeszcze baza danych, czyli MySQL i PHP, jako że WordPress jest m.in. napisany w tym języku.

Krok 1 – Instalacja Apache

Zainstaluj Apache z:
$ sudo apt install apache2

Po zatwierdzeniu instalacji, możemy sprawdzić działanie w przeglądarce pod adresem http://localhost:80.
Pliki będą znajdować się w lokalizacji /var/www/html
Możemy też z poziomu własnego komputera sprawdzić publiczny adres IP serwera:
$ curl http://icanhazip.com
Aby był widoczny z zewnątrz trzeba byłoby utworzyć odpowiednią regułę w domyślnym ufw (Uncomplicated firewall) firewall-u Ubuntu. Nie będziemy tego potrzebowali w celu roboczym działania WordPress-a tylko na własny użytek. Bloga możemy potem migrować na hosting za pomocą jednej z wielu darmowych dostępnych wtyczek.

Krok 2 – Instalacja MySQL

Instalujemy oprogramowanie:
$ sudo apt install mysql-server
Nadajemy hasło dla głównego użytkownika w celu bezpieczeństwa.
Najpierw uruchamiamy wywołanie MySQL:
$ sudo mysql
i nadajemy hasło:
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
a następnie wychodzimy:
mysql> exit
Później za pomocą interaktywnego skryptu przypisujemy hasło root-a do zabezpieczenia bazy danych:
$ sudo mysql_secure_installation
i zatwierdzamy usunięcie wszelkich dalszych zależności do bazy.
Sprawdzamy działanie:
$ sudo mysql -u root -p
poproszeni o hasło wprowadzamy je.

Krok 3 – Instalowanie PHP

Do zainstalowania pakietów używamy:
$ sudo apt install php libapache2-mod-php php-mysql
Sprawdzamy zainstalowaną wersję:
$ php -v

Krok 4 – Zabezpieczenia plików serwera Apache

Najpierw tworzymy plik .htpasswd do zabezpieczenia:
$ sudo htpasswd -c /sciezka/do/.htpasswd username
Zostajemy zapytani o hasło i jego potwierdzenie.

Edytujemy plik konfiguracyjny serwera znajdujący się w /etc/apache2/apache2.conf
Pod koniec dodajemy:

<Directory /var/www/html/>
     AuthType Basic
     AuthUserFile /sciezka/do/.htpasswd
     Require valid-user
     Order Deny, Allow
     Deny from all
     Allow from localhost
</Directory>

Krok 5 – Utworzenie bazy danych

Wchodzimy do MySQL:
$ sudo mysql -u root -p
oraz tworzymy bazę:
mysql> CREATE DATABASE nazwa_bazy;

Krok 6 – Instalacja WordPress

Ściągamy najnowszą wersję WordPress-a z oryginalnej strony.
Uzupełniamy posiadane dane do instalacji, potem wymagane informacje i możemy już w pełni korzystać z aplikacji.

Problem aktualizacji aplikacji Rambox pod Ubuntu

Dowiadujemy się, że jest aktualizacja aplikacji Rambox do nowszej wersji pod linuksem.
Ściągamy najnowszą wersję i próbujemy ją zainstalować poleceniem:

sudo snap install ./Rambox-x.x.x-linux-x64.snap

Może nam wówczas pojawić się błąd:

error: cannot find signatures with metadata for snap “./Rambox-x.x.x-linux-x64.snap”

Krótkie wyjaśnienie. Dzieje się tak, ponieważ pobraliśmy pakiet Snap od strony trzeciej.
Mechanizm snapów w Ubuntu oczekuje, że otrzyma pakiet snap z oficjalnego sklepu z snapami. Stąd widzimy komunikat o błędzie.

Istnieje rozwiązanie umożliwiające obejście tego problemu.
A mniej więcej, używamy flagi “dangerous”.
Pokrótce komenda powinna wyglądać następująco:

sudo snap install –dangerous ./Rambox-x.x.x-linux-x64.snap

Zainstalowaną wersję, możemy sprawdzić komendą:

snap info rambox

Nie zapominajmy zamknąć wszystkie procesy rambox-a przed instalacją(można to zrobić m.in za pomocą aplikacji “monitor systemu”, wyszukać aplikację i zakończyć proces). Trzeba też nadać prawa wykonania do ściągniętego pliku (chmod +x Rambox…).

Problem po aktualizacji Ubuntu z 20 do wersji 22

Tak jak w tytule spotkałem się z problemem po aktualizacji systemu z wersji 20 do 22.
W moim przypadku pojawił się monit dostępności aktualizacji podczas pracy sytemu. Wybrałem automatyczną aktualizację.

Aktualizacja wykonała się bezproblemowo, GRUB (posiadam dwa systemy: + Windows 10) załadował się prawidłowo. Natomiast po wybraniu dystrybucji linuks-a, system zaczął się ładować i zakończyło się na informacji:

Failed to start default target: Transaction for graphical.target/start is destructive,(emergency.target has ‘start’ job queued, but ‘stop’ is included in transaction).

Posiadana grafika to Nvidia.
Podejmowane były następujące kroki:
-instalacja najnowszych sterowników Nvidia
-próba naprawienia błędów w systemie plików:
komendą:

fsck /dev/diskname

, gdzie trzeba odpowiednio wpisać lokalizację swojego dysku.
-zmiana systemu okienek z Wayland poprzez:
edytowanie:
sudo nano /etc/gdm3/custom.conf

i zmianę linii/odkomentowanie:
WaylandEnable=false
oraz restart menadżera wyświetlania komendą:
sudo systemctl restart gdm3

-tryby awaryjne z boot-loadera nie działały

Tryb recovery się zacinał/ nie działał prawidłowo/zawieszał się.
Edytowanie odpowiednio trybu recovery w GRUB-ie:
dodawanie:

systemd.unit=rescue.target

w linijce: “linux … $vt_handoff” na jej końcu.
(‘rescue’ używane zamiennie z ’emergency’)
Tutaj podaje link do porad ładowania trybu odzyskiwania:
https://ostechnix.com/how-to-boot-into-rescue-mode-or-emergency-mode-in-ubuntu-18-04/

Ostatecznie dokonałem backup-u danych z dystrybucji CD Ubuntu 22 na pendrivie (polecam program Rufus do wykonania USB dysku). Dane skopiowałem na zewnętrzny dysk USB, ponieważ próby nadania dostępu zapisu na inne partycje i przekopiowania plików nie skutkowały powodzeniem.

Następnie dokonałem czystej instalacji z dysku CD-pendrive z formatowaniem partycji ręcznie. Pod koniec instalacji wyskoczył błąd. Po ponownym uruchomieniu wystąpił błąd z GRUB-em – nie uruchamiał się boot-loader.
Wspomnę też, że próby zamiany w BIOS-ie z Legacy na UEFI (ustawianie Secure Boot) kończyły się niepowodzeniem we wcześniejszych krokach, jeszcze przy pierwszej aktualizacji systemu.
Uruchomiłem dysk CD i zastosowałem się do wskazówek z linku:
https://www.download.net.pl/jak-naprawic-grub-gdy-ubuntu-sie-nie-uruchamia/n/9890/

W skrócie poniżej instalacja narzędzia Boot Repair na CD drive:

sudo apt-add-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install -y boot-repair

boot-repair


Uruchomiłem narzędzie Boot Repair do naprawy GRUB-a (wybrałem zalecaną naprawę).

Po ponownym uruchomieniu załadował się GRUB prawidłowo, jak i system się uruchomił.

Zmiana rozmiaru zdjęcia w Ubuntu/terminalu

Najpierw instalujemy ImageMagick komendą:

sudo apt-get install imagemagick

Następnie dokonujemy zmiany rozmiaru zdjęcia:

convert -resize 20% source.png dest.jpg

gdzie kolejno podajemy procent ile ma mieć nowe zdjęcie w stosunku do oryginału. Plik źródłowy i końcowy z wybranym rozszerzeniem.

Skrót do ulubionych aplikacji w pasku menu pod Ubuntu

Zainstalowane aplikacje za pomocą Centrum oprogramowania Ubuntu można łatwo dodać poprzez otwarcie Podglądu i wyszukanie odpowiedniej aplikacji lub poprzez wyświetlenie programów, kliknięcie na odpowiednią ikonę aplikacji PPM(prawym przyciskiem myszki) i wybranie dodania do Ulubionych.

Sprawa ma się trochę inaczej, gdy aplikację zainstalowaliśmy ręcznie poprzez komendę apt-get install lub ściągając odpowiedni pakiet zewnętrznie.
W takim przypadku, tworzymy odpowiedni plik skrótowy do aplikacji.
Przykładowy kod w skrócie z rozszerzeniem plik.desktop może wyglądać, m.in. następująco:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/application
Name=App name
Comment=Some comment
Icon=/path/to/icon

Nie zapominajmy o dodaniu praw dostępu do uruchamiania, chmod +x app.desktop. I gdy tworzymy plik na pulpicie systemowym możemy zezwolić na uruchamianie, poprzez co, mamy od razu skrót do aplikacji dostępny również na pulpicie.
Po zakończonej edycji pliku kopiujemy go do lokalizacji /usr/share/applications.
Oczywiście potrzebujemy do przekopiowania praw root-a.
Możemy wówczas otworzyć powyższą lokalizację w terminalu i wpisać odpowiednią komendę: sudo cp /home/user-name/Pulpit/app-name.desktop ./.

W ten sposób mamy dodany skrót do widocznych aplikacji w menu.
Teraz wystarczy wyświetlić lub wyszukać program kliknąć PPM i wybrać dodanie do ulubionych, a ikona aplikacji pojawi się w pasku menu. (pamiętajmy zawsze, że linux rozpoznaje wielkość liter, co ma duże znaczenie, bo możemy nie znaleźć naszego skrótu aplikacji).

Ubuntu 20.04 i instalacja RStudio

W nowszych dystrybucjach linux-a może istnieć problem zainstalowania RStudio, które nie jest jeszcze na chwilę obecną wydane pod to konkretne wydanie Ubuntu (problem z zależnościami bibliotek).

Rozwiązanie problemu:
Uruchomić w terminalu komendę:

sudo aptitude install clang

Następnie otrzymamy mniej więcej coś takiego:

Następujące NOWE pakiety zostaną zainstalowane:   
  clang clang-10{a} lib32gcc-s1{a} lib32stdc++6{a} libc6-i386{ab} libclang-common-10-dev{a} libclang-cpp10{a} 
  libobjc-9-dev{a} libobjc4{a} libomp-10-dev{a} libomp5-10{a} libpfm4{a} libz3-4{a} libz3-dev{a} llvm-10{a} llvm-10-dev{a} 
  llvm-10-runtime{a} llvm-10-tools{a} 
0 pakietów aktualizowanych, 18 instalowanych, 0 do usunięcia i 0 nieaktualizowanych.
Do pobrania 57,8 MB archiwów. Zajęte po rozpakowaniu: 377 MB.
Następujące pakiety mają niespełnione zależności:
 libc6-i386 : Wymaga: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is installed
Następujące działania rozwiążą problemy z zależnościami:

     Zatrzymanie bieżących wersji następujących pakietów:
1)     clang [niezainstalowany]                          
2)     clang-10 [niezainstalowany]                       
3)     lib32gcc-s1 [niezainstalowany]                    
4)     lib32stdc++6 [niezainstalowany]                   
5)     libc6-i386 [niezainstalowany]                     
6)     libclang-common-10-dev [niezainstalowany]         



Zaakceptować rozwiązanie? [Y/n/q/?] n

Wybieramy “n”, że się nie zgadzamy.
Następnie, gdy pojawi się:

Następujące działania rozwiążą problemy z zależnościami:

     Usunięcie następujących pakietów:                                      
1)     libc-dev-bin [2.31-0ubuntu9.3 (now)]                                 

     Instalacja następujących pakietów:                                     
2)     libc-dev-bin:i386 [2.31-0ubuntu9.2 (focal-updates)]                  

     Cofnięcie następujących pakietów do wcześniejszych wersji:             
3)     libc6 [2.31-0ubuntu9.3 (now) -> 2.31-0ubuntu9.2 (focal-updates)]     
4)     libc6:i386 [2.31-0ubuntu9.3 (now) -> 2.31-0ubuntu9.2 (focal-updates)]
5)     libc6-dbg [2.31-0ubuntu9.3 (now) -> 2.31-0ubuntu9.2 (focal-updates)] 
6)     libc6-dev [2.31-0ubuntu9.3 (now) -> 2.31-0ubuntu9.2 (focal-updates)] 



Zaakceptować rozwiązanie? [Y/n/q/?] Y

Akceptujemy wyświetlone rozwiązanie poprzez “Y”. W następnym kroku też kontynuujemy i powinna zacząć się wybrana konfiguracja.
Po zakończeniu instalujemy RStudio komendą:

sudo gdebi rstudio-[downloaded_version].deb

Spring Tool Suite/JDK Update

Witam.

Po aktualizacji Zintegrowanego Środowiska Programistycznego STS z wersji 4.6-7 do 4.10, można natknąć się na problem, że przy wersji Javy 8 się nie uruchomi (wymagana co najmniej wersja 11).
Lub po prostu chcemy migrować do nowszej wersji Javy.

Co powinniśmy wtedy zrobić?
Przy systemie linuksowym – Ubuntu najpierw dodać repozytorium do systemu:

sudo add-apt-repository ppa:openjdk-r/ppa

Wykonać kolejne komendy w celu instalacji JDK:
sudo apt-get update
sudo apt install openjdk-11-jdk

Następnie zmienić obecną wersję na nową:
sudo update-alternatives –config javac

to samo zrobić też z JRE, czyli:
sudo update-alternatives –config java

Na koniec sprawdzamy, czy mamy ustawione wybrane przez nas wersje Javy:
java –version
javac –version

Jeszcze została konfiguracja JRE w STS:
Przechodzimy do Window->Preferences->Java->Installed JREs i dodajemy nowo zainstalowaną.

Dostępna tylko jedna mała rozdzielczość Ubuntu Nvidia

Witam.
Przedstawię pokrótce jak można poradzić sobie z tym problemem.

Skorzystamy przy szukaniu rozwiązania z programu xrandr.
Jest to prosty interfejs linii poleceń do zmian rozszerzeń ekranu.
Wywołajmy polecenie z linii komend terminala:

xrandr

Ujrzymy wówczas możliwość wyboru dostępnych rozdzielczości z konkretnego przedziału, lub po prostu tylko jedną możliwą.
Następnie wpiszmy:
xrandr –listproviders

Dostarczy Nam to listę dostawców do obsługi ekranu/grafiki.
Jeżeli “Providers number” jest równe 0, to prawdopodobnie brak sterowników do grafiki.

W celu dalszej solucji, dodajemy do repozytorium oprogramowania pakiety źródłowe, w celu przystosowania ich do użycia przez APT (systemu zarządzania pakietami):

sudo add-apt-repository ppa:graphics-drivers/ppa

Ze strony:
https://www.nvidia.com/en-us/drivers/unix/
możemy sprawdzić najnowszą dostępną wersję do Naszej dystrybucji.

Następnie instalujemy konkretny sterownik Nvidia:

sudo apt install nvidia-driver-[latest version number]

Jeszcze tylko komenda:
reboot

i po restarcie systemu powinno już wszystko być w porządku.

Montowanie zewnętrznego/dodatkowego dysku w Ubuntu 20.04 Focal Fossa

Często zdarza się, że pewne partycje, które trzeba montować ręcznie pod systemem Linux, klikajać w ich ikonę w menedżerze plików, Nautilusie nie zawsze mają chciane przez nas prawa dostępu, czyli np. zapis danych.
Najpierw przedstawię metodę automatycznego montowania tych partycji/dysków wraz ze startem systemu.
Niestety czasem ten sposób jest zawodny, gdyż często pojawiają się błędy systemu plików i urządzenie nie jest montowane, np. przy NTFS.

Automount z startem systemu:

Pobranie UUID konkretnego urządzenia: (można łatwo skopiować/wkleić w terminalu uuid poprzez kombinację [(SHIFT +CTRL +C)=kopiuj, (SHIFT +CTRL +V)=wklej]


ls -l /dev/disk/by-uuid/*

Edycja pliku systemowego do automontowania urządzeń:


mkdir /media/folder-montowania-urzadzenia
sudo nano /etc/fstab

W powyższym pliku zapisujemy sekwencję, rozdzieloną znakiem tabulacji:

UUID     /dev/nazwa-urzadzenia-w-linuksie/     /media/folder-montowania-urzadzenia     system-plikow,np.ntfs     defaults(ustawienia domyślne)     0     0

Krótkie wyjaśnienia:
Najpierw tworzymy folder do zamontowania dysku.
W pliku w jednej linii wprowadzamy dane.
I tu, zamiast defaults możemy, np. zastosować:
exec = wykonywanie plików
rw = tryb odczytu-zapisu
users = wszyscy użytkownicy
auto = tryb automatyczny
remount = ponowne montowanie
wpisujemy powyższe słowa kluczowe w miejscu defaults, po przecinku bez żadnych odstępów pomiędzy słowami
Ostatnie cyfry: 0 0, to:
dump – zazwyczaj zero
pass – używane przez program fsck, w której kolejności system plików jest sprawdzany. Wartość admina/roota jest 1. Swap/partycja wymiany nie musi być sprawdzana i jest równa zero. Inne systemy plików powinny mieć 2.

Montujemy wszystkie urządzenia ponownie:


mount -a

I powyższy sposób jest jak najbardziej prawidłowy, niestety jak wystąpią jakieś błędy zdarza się, że urządzenie zostanie zamontowane, np. tylko do odczytu, albo w ogóle.

 

Druga metoda, to stworzenie prostego skryptu w bashu:

#!/bin/bash 
#to jest komentarz

#odmontowywujemy urządzenie 
sudo umount /dev/nazwa-urzadzenia media/folder-montowania 

#montujemy 
sudo mount -o defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania 

#naprawiamy ewentualne błędy w systemie plików 
sudo ntfsfix /dev/nazwa-urzadzenia 

#przemontowywujemy ponownie 
sudo mount -o remount,defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania

Nie zapomnijmy o nadaniu praw wykonania do pliku:


chmod +x nasz-skrypt.sh

Jeszcze większym ułatwieniem jest stworzenie skrótu na pulpicie do skryptu (metoda działa pod Ubuntu 20.04):

Tworzymy plik na pulpicie z rozszerzeniem .desktop:

#!/usr/bin/env xdg-open
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=true
Exec=/home/user/mount-disks.sh 
Name=Mount disks
Comment=Mount disks 
Icon=/home/user/Obrazy/hdd-mount.ico

Exec – ścieżka do naszego skryptu
Icon – ikona, jaką chcemy żeby się nam wyświetlała

Nie zapomnijmy jak poprzednio nadać prawa wykonania i jeszcze klikamy na pliku prawym przyciskiem myszy i wybieramy “Zezwól na uruchamianie”.

Teraz za pomocą drugiej metody, po uruchomieniu skryptu wpisujemy hasło root-a, sprawdzane i naprawiane są struktury plików i zamontowane powinny być nasze urządzenia dla wszystkich użytkowników z prawami wykonania, odczytu i zapisu.