Pytania i odpowiedzi
Z góry przepraszam za bałagan na tej stronie. Po prostu uzupełniałem ją wtedy, gdy zauważałem potrzebę jakiegoś wyjaśnienia.
- Co to jest favicon.ico?
Jest to miniaturowy plik graficzny o rozmiarach 16x16 (lub 32x32) pikseli, najlepiej w formacie png. Jeśli będzie to plik z transparentnym tłem, to obrazek może byc okrągły, w przeciwnym razie raczej kwadratowy. Po wykonniu obrazka zmieniamy mu nazwę na favicon.ico w katalogu /img. Przeglądarki w pasku górnym pokazują te miniaturki, co łatwiej pozwala odróżniać strony w zakładkach. Tak to wygląda, jak na obrazku poniżej.
- Jak działa galeria?
Gdy projektowałem miniPHP, zależało mi na tym, by strona była lekka, wczytywała się szybko, nie była pamięciożerna i dlatego mechanizmy jej działania są proste. Czasem nawet kosztem komfortu użytkownika. Pliki do galerii musimy przesłać używając FTP/SFTP. Galeria jest dodatkiem w javascripcie. Działa tak, że wczytuje alfabetycznie pliki znajdujące się w odpowiednich podkatalogach katalogu z obrazkami. W tym celu musimy użyć odpowiednich tagów w kwadratowym nawiasie.
- Jak tworzone są i zapisywane hasła?
Login i hasło znajduje się w poliku config.inc.php. Hasło jest zaszyfrowane. Utworzenie loginu i hasła powinno byc pierwszą czynnością po umieszczeniu plików na serwerze. W tym celu trzeba uruchomić plik install.php, który po wykonaniu tej czynności zmienia swoją nazwę. Aby ponownie zmienić hasło, trzeba przywrócić nazwę install.php na serwerze. Zgodnie z instrukcją na stronie wskazane jest by usunąć potem znak hash (#) przed niektórymi liniami w pliku .htaccess. Dla ułatwienia w tym pliku są komentarze.
- Jak edytować konfigurację strony?
To zależy od konfiguracji hostingu. Większość hostingów ma menedżera plików na koncie użytkownika (np. cPanel) i jest tam wbudowany edytor tekstowy. W komputerach również mamy edytory tekstu. Od Notatnika Windows, po Kwrite w Linuksie. Nie moze to być edytor biurowy w rodzaju Word lub Writer. Jeśli na serwerze jest dostęp do tzw. shella, to można korzystać także tam z edytorów tekstowych w rodzaju mcedit lub nano. - Edytor TinyMCE
Po konfiguracji treść strony wprowadzamy z poziomu przeglądarki. Po zalogowaniu się każdy link w menu otwiera daną podstronę w edytorze TinyMCE. Celowo umieściłem ten edytor w najprostszej jego wersji. W menu u góry są następujące przyciski: Cofnij (Ctrl+Z), Powtórz (Ctrl+Y), Pogrubienie (Ctrl+B), Kursywa (Ctrl+I), Podkreślenie (Ctrl+U), Lista wypunktowana, Lista numerowana, Wstaw/edytuj łącze (Ctrl+K), Wstaw/edytuj obraz, Tabela (tu jest rozwijane menu), Kod źródłowy. To wystarczy by sformatować tekst na stronie.
- Jak wstawiać zdjęcia przy pomocy TinyMCE?
Chcąc dodać obrazek, najpierw trzeba przesłać plik na serwer (w menu Wysyłanie) a następnie edytując tę stronę którą chcemy, klikamy Wstaw/edytuj obraz. Trzeba wpisać nazwę pliku poprzedzoną katalogiem, a więc img/moj-plik.jpg i warto dodać tzw. opis alternatywny, ułatwi on nawigację osobom, które włączają czytanie strony z powodu poważnych ograniczeń wzroku, można też regulować wielkość obrazka na ekranie.
- Czy można mieć bardziej rozbudowaną wersję TinyMCE?
Można, o ile ktoś naprawdę potrzebuje i wie jak edytować kod. W pliku index.php są następujące linie:
tinymce.init({
selector: '#editor1',
license_key: 'gpl',
language: 'pl',
menubar: false,
plugins: 'lists link image table code',
toolbar:
'undo redo | ' +
'bold italic underline | ' +
'bullist numlist | ' +
'link image table | ' +
'code'
Szukać ich należy w okolicach linii 280. Jak widać można tam zmienić język edytora (jeśli ma być inny niż angielski, trzeba ściągnąć z sieci plik językowy), można dodać rozbudowane menu górne i zmienić to, co zajduje się w pasku narzędzi. - HTTPS i certyfilaty SSL/TLS
Wyszukiwarki dziś dyskryminują strony posługujące się protokołem HTTP, przeglądarki krzyczą, że taka strona może być niebezpieczna i żeby nie podawać żadnych danych, bo cały ruch może zostać podsłuchany. Zatem chcąc nie chcąc musimy stosować certyfikaty, także po to, by dobrze pozycjonować stronę w wynikach wyszukiwania. Gdy ktoś ma własny serwer, zapewne zna Let's Encrypt i potrafi skonfigurować automatyczne odnawianie darmowego certyfikatu SSL/TLS. Jeśli jednak korzystamy z hostingu, to są dwie dostępne opcje. Pierwsza to wykupienie certyfikatu płatnego raz na rok i dodanie odpowiednich plików w panelu klienta. Możliwe, że odnawianie certyfikatów będzie automatyczne, jeśli certyfikat sprzeda nam firma hostingowa. Jest też drugi sposób. Darmowy certyfikat, ktory wygenerujemy sami online i będziemy go w ten sam sposób odnawiać co trzy miesiące. Za darmo to dobra cena, ale wymagać będzie od nas kilku działań.
Musimy znaleźć stronę z darmowym generatorem takim, jak powyżej i wykonać kilka poleceń. Na serwerze z naszą stroną już znajduje ię katalog .well-known, a w nim podkatalog acme-challenge. Generator pokaże plik, który trzeba ściągnąć, a następnie zapisać własnie w katalogu acme-challenge. Plik ma dziwną długą nazwę i równie dziwną zawartość, ale jest niewielki. Gdy już się znajdzie na serwerze, trzeba przejść do następnego kroku, podać swój e-mail, zaznaczyć zgodę na regulamin i wtedy dostaniemy do pobrania trzy pliki. Będzie to właściwy certyfikat, klucz prywatny i pakiet urzędu certyfikacji. Teraz musimy przejść do panelu klienta w naszym hostingu i znaleźć w menu miejsce, gdzie wstawimy zawartość tych plików metodą kopiuj - wklej. W cPanelu używanym przez część hostingów należy kliknąć ikonkę widoczną poniżej, a potem wybrać opcję instalacji certyfikatu.
- Zabezpieczenia w .htaccess
Pliki .htaccess wskazują serwerowi httpd, jakie działania użytkownika są dozwolone i/lub pożądane, a jakie zabronione. W przypadku miniPHP plik ten jest dość rozbudowany i na przykład nie pozwala na wykonywanie jakichkolwiek plików php, prócz głównego index.php. Poniżej jest przykład, jak serwer zareaguje na wywołanie strony test.php. Zawiera ona proste polecenie, które informuje o wersji i innych parametrach PHP. Plik pozostał po sprawdzeniu wersji przed instalacją miniPHP i zapomniałem go usunąć.
phpinfo();
Jednak dyrektywa w .htaccess zabrania użycia tego pliku i ogladający dostanie komunikat taki, jak poniżej.