Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Arch - web development (Laravel)

Zaczęty przez lunatyk, Kwiecień 23, 2019, 12:47:07 PM

Poprzedni wątek - Następny wątek

lunatyk

Dzień dobry,

zdecydowałem się sprawdzić Arch'a w web dev'ie (Laravel). Póki co zainstalowałem go testowo na wirtualnej maszynie za pośrednictwem Zen Installer'a. Chciałbym go teraz skonfigurować. Narzędzia których potrzebuję to:
- GIT + GitKraken
- PHP (> 7.1) + Composer
- Apache
- Visual Studio Code
- MySQL

Z tego co czytałem MySQL został zastąpiony przez MariaDB. Do tej pory korzystałem wyłącznie z MySQL podczas tworzenia aplikacji w Laravelu i nie wiem do końca jakie konsekwencje może nieść za sobą korzystanie z MariaDB. To nie ja zarządzam serwerami w firmie, ale wydaje mi się że korzystają z MySQL.

invalidcorgi

#1
Cześć,

MySQL nie do końca został zastąpiony przez MariaDB. MySQL istnieje i rozwija się we własnym kierunku jednak licencja należy do Oracle co budzi pewien niepokój. MariaDB idzie we własnym kierunku ale aktualne wersje obu tych systemów wychodzą z tego samego kodu źródłowego. Przejście z jednego systemu na drugi w zdecydowanej większości przypadków powinno być banalne: wywalasz MySQL, instalujesz MariaDB i wszystko powinno działać. Warto jednak zobaczyć z jakiej wersji MySQL miałbyś korzystać i przeczytać to https://mariadb.com/kb/en/library/upgrading-from-mysql-to-mariadb/. Połączenie z MariaDB powinno działać bezproblemowe przy użyciu narzędzi/bibliotek/providerów stworzonych dla MySQL. W przypadku rozpoczęcia pracy "na czysto" dla Laravela powinno być nieistotne czy łączy się z MySQL czy MariaDB.

Co do rozważań używania innych rozwiązań polecałbym Ci się zastanowić nad zmianą Apache na Nginx. W tej chwili istnieje niewiele powodów aby trzymać się serwera Apache.

lunatyk

Jeśli chodzi o mnie, to nie widzę przeszkód by przejść na MariaDB. Głównym problemem jest tu praca z istniejącymi już aplikacjami i utrzymywanie ich. Jeśli są postawione na MySQL, a ja korzystałbym z MariaDB na local'u nic się nie wykrzaczy na produkcji?

invalidcorgi

Jeśli produkcyjnie i tak będzie używany MySQL a nie MariaDB, to mimo że MariaDB nie powinno sprawiać problemów radziłbym jednak po prostu użyć MySQL. Paczka jest dostępna w AUR.

Są też inne opcje. Aby nie integrować systemu bazodanowego z systemem operacyjnym możesz np. użyć obrazu dockera z MySQL. Jeśli miałby zostać użyty docker to można od razu maksymalnie zbliżyć środowisko developerskie do produkcyjnego przez utworzenie obrazów skonfigurowanych jak na serwerze produkcyjnym. W razie większej ilości wykonywanych projektów na raz nie byłoby wtedy też problemów z zarządzaniem różnymi wersjami PHP itp.

lunatyk

Postaram się na początek zainstalować MySQL z AUR w takim razie. Mógłbym prosić o wskazówki?

pavbaranov

Cytat: lunatyk w Kwiecień 23, 2019, 12:47:07 PM
- GIT + GitKraken
- PHP (> 7.1) + Composer
- Apache
- Visual Studio Code
- MySQL
Nic nie stoi na przeszkodzie instalacji :)
- GIT: https://wiki.archlinux.org/index.php/Git
- GitKraken - jest w repozytorium archlinuxcn oraz można go zbudować z AUR
- Apache https://wiki.archlinux.org/index.php/Apache_HTTP_Server (na pewno serwer?)
- VSC - wrzuć sobie w yay vsc, tak by przeszukało Ci zarówno repozytoria, jaki AUR - niestety nie wiem, co Ci doradzić, bo nie korzystam z tego; jedynie mogę podpowiedzieć, że w archlinuxcn jest paczka vitrual-studio-code-bin, która jest też w AUR; to przepakowana do formatu pacmana oryginalna binarka,
- MySQL - jest w AUR

Cytat: lunatyk w Kwiecień 23, 2019, 12:47:07 PM
Z tego co czytałem MySQL został zastąpiony przez MariaDB.
Przeczytaj: https://wiki.archlinux.org/index.php/MySQL. Tak, w Archu MySQL został zastąpiony przez MariaDB, co oznacza, że:
- w repozytorium znajdziesz MariaDB a nie MySQL,
- programy w repozytorium, które wymagają pracy z MySQL "widzą" MariaDB jakby to było MySQL (nie oznacza to, że jest to rozwiązanie w 100% kompatybilne, jak sądzę),
- w AUR nadal jest MySQL skąd możesz je sobie zbudować. Jak widzę są dostępne wersje 5.1, 5.5, 5.6, 5.7 oraz 8.0. Pewnie dla zapewnienia 100% kompatybilności warto byłoby Ci się dowiedzieć jaka wersja jest w Twojej firmie i zainstalować taką samą. Jeśli to wersja inna niż te cztery, to pewnie można byłoby się pokusić o próbę zrobienia PKGBUILD również dla takiej wersji.

Cytat: lunatyk w Kwiecień 23, 2019, 03:31:15 PM
Postaram się na początek zainstalować MySQL z AUR w takim razie. Mógłbym prosić o wskazówki?

O jakie Ci wskazówki chodzi? W poprzednim wątku dałem Ci link do podstawowej odpowiedzi nt. instalacji z AUR.

invalidcorgi

Cytat- VSC - wrzuć sobie w yay vsc, tak by przeszukało Ci zarówno repozytoria, jaki AUR - niestety nie wiem, co Ci doradzić, bo nie korzystam z tego; jedynie mogę podpowiedzieć, że w archlinuxcn jest paczka vitrual-studio-code-bin, która jest też w AUR; to przepakowana do formatu pacmana oryginalna binarka
Uzupełniając tą wypowiedź, jest o tym wpis tutaj https://wiki.archlinux.org/index.php/Visual_Studio_Code
Masz więc do wyboru instalację visual-studio-code-bin z AUR lub paczkę code z repozytorium, code jest open sourcową wersją vsc m.in. bez telemetrii wysyłanej do Microsoftu. Różni się też w paru szczegółach od vsc jednak w developmencie PHP nie powinno mieć to żadnego znaczenia.

lunatyk

Próbowałem dzisiaj wiele razy zainstalować mysql. Za każdym razem sugeruje mi mariadb podczas próby instalacji.

pavbaranov

#8
Co Ci to sugeruje i co konkretnie usiłowałeś zainstalować i jak? Jakie błędy ewentusalnie podaje próba instalacji mysql, libmysql oraz mysql-client oraz czy budowa tych paczek przebiegła prawidłowo?
Zwróć uwagę na to, że gdy MySQL został w Archu porzucony na rzecz MariaDB, aktualizacja systemu wymagała dokonania ręcznie pewnych zmian: https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ - być może obecnie będziesz musiał dokonać analogicznej operacji, bowiem mariadb "dostarcza" mysql (wprawdzie w wersji 10.3.14).

lunatyk

Wydałem proste polecenie: yay -S mysql

pavbaranov

#10
A ja wydałem pak -Syu. Coś Ci to mówi?;) To mi tak samo nic nie mówi yay -S mysql (choć nieco więcej prawdopodobnie). Niestety nikt wróżką nie jest i nie ma pojęcia co przynosi ta komenda u Ciebie. Wiem natomiast, że:
1. PKGBUILD dla mysql winien zbudować 3 paczki (mysql, libmysql i mysql-client),
2. wszystkie te paczki winny zostać zainstalowane,
3. z uwagi na to, że w Archu mysql został zastąpiony przez mariadb, to "przywrócenie" mysql - choć możliwe - może być kłopotliwe;
4. z jednej bowiem strony mariadb "oszukuje" inne paczki, które wymagają mysql, że ten jest w systemie, z drugiej strony paczki zbudowane z AUR są w konflikcie z mariadb; obie grupy paczek nie mogą koegzystować! Paczka mariadb nie musi być w każdym systemie, zatem musiałeś ją jakoś i z jakiegoś powodu zainstalować (bezpośrednio, albo jako zależność czegoś), jeśli teraz chcesz mieć mysql w miejsce mariadb, to musisz niejako "podmienić" mariadb przez mysql,
Co zatem u Ciebie przyniosło wydanie tej komendy, którą pokazałeś? Jakie paczki zostały zbudowane? Jakie miały zostać zainstalowane? Dlaczego instalacja nie powiodła się? Ponownie - co oznacza to, co zawarłeś w poprzednim swoim wpisie?

Wg mnie - najprościej jest w ogóle instalować system taki jak Arch od początku do końca wiedząc co się chce uzyskać, ale - wiadomo - nie zawsze to możliwe. Masz teraz przynajmniej 2 możliwości:
1. zainstalować mysql w miejsce mariadb, czyli godząc się na odinstalowanie tej drugiej grupy paczek z wykorzystaniem informacji z poprzedniego wpisu; w ten sposób w Twoim systemie mariadb zostanie konsekwentnie zastąpiona przez mysql,
2. pozostać przy mariadb i zobaczyć (wszak testujesz jeszcze przez miesiąc) czy da się w ten sposób współpracować z kolegami (ale sprawdziłbym to "na sucho"); spytaj też kolegów czy na pewno oni mają MySQL, bo w bardzo wielu dystrybucjach ta baza została zastąpiona właśnie przez MariaDB.

PS: Tak wiem, nieco inaczej ten wpis brzmiał ok. północy - teraz jest tak, jak winno być. Z góry przepraszam (czy raczej z dołu, ale musisz sam dawać maksimum informacji, a nie jedynie nic nie znaczący opis czegoś).

lunatyk

Dziękuję za obszerną odpowiedź. Zainstalowałem wczoraj Apache + MariaDB + PHP i po wstępnej konfiguracji jakoś to działało. Udało się przeprowadzić migracje w testowym projekcie Laravela, więc wygląda na to, że jest okej, choć okazję do spytania będę miał dopiero za miesiąc.

Mam jeszcze drugie pytanie, niezwiązane z web development'em. Nauczyłem się już instalować czystego Arch'a bez większych problemów. Testowo na kilku maszynach wirtualnych chciałem użyć innych środowisk graficznych, jednak każde z nich instaluje jakieś swoje dodatki. Co powinienem zainstalować dla GNOMEa, a co dla Deepin'a by uzyskać możliwie najczystsze DE? Czym jest Avahi, Qt V4L2 etc?

pavbaranov

Ogólna zasada: jeden problem = jeden wątek. Zatem załóż nowy. Z góry jednak na pytanie "czym jest X" dostaniesz prostą odpowiedź: sprawdź sobie w wiki Archa albo wikipedii itp. Zwłaszcza jeśli chodzi o etc :) O reszcie można podyskutować.

TataPingu

#13
Cytat: lunatyk w Kwiecień 25, 2019, 12:54:11 AM
Co powinienem zainstalować dla GNOMEa, a co dla Deepin'a by uzyskać możliwie najczystsze DE?

Właściwie, to co Ty rozumiesz przez "czyste" (i wcześniej "dodatki") DE ?
- w pierwszym wątku, o ile sobie dobrze przypominam, pisałeś, że emigrujesz z windy i przypuszczam, że Twoje określenia odnoszą się do zachowania Windy...

Nie powinieneś szukać analogii, bo "czyste" w linuksie oznacza zupełnie coś innego, niż pod windowsem...
- pod linuksem "czyste", znaczy (mniej, więcej) "prawidłowo zainstalowane", t.j. z wszystkimi potrzebnymi i aktualnymi paczkami, a to, że pod systemem znajdziesz inne paczki, czy biblioteki, niekiedy z nazwy sugerujące przynależność do innego DE, nie oznacza, iż są to zbędne "śmieci" (w windziarskim "rozumieniu")

Oczywiście, i pod linuksem możesz mieć coś "zbędnego", ale to nie jest tak, jak pod windą, że potem te "pozostałości" kolidują z innymi programami. Po prostu, masz zainstalowany dodatkowy program...
- i nic więcej

By Ci to uświadomić, użyję przykładu...
Wyobraź sobie, że instalujesz MATE, jako DE. Domyślnym edytorem tekstu jest tutaj "Pluma". Po jakimś czasie decydujesz się jednak przejść na np. XFCE. W tym przypadku, domyślnie, edytorem jest chyba "Leafpad".
Podczas likwidacji MATE, może się tak zdarzyć, że "Pluma" pozostanie w systemie...
Nie oznacza to jednak, iż Pluma "wadzi" Leafpadowi, po prostu masz teraz dwa edytory i jeśli przyjdzie Ci na to "ochota", to nie będzie żadnego problemu z "bezśladowym" usunięciem Plumy...

PomPom

OPie, jak chcesz mieć jak najmniej, to kieruj się wiki i wgrywaj absolutne podstawy, czyli np. odpuść sobie wszelkie *-extra, *-goodies, itd.

A co do czystości, to wydaje mi się, że to niezależnie od systemu pojęcia nadużywane, bardzo ogólne i potężnie subiektywne.
myk byle jak jako tako

Zobacz najnowsze wiadomości na forum