Przenosiny bloga
Mimo, iż blog dopiero startuje już zostanie przeniesiony na domenę http://webdevday.blogspot.com/
Blogspot daje znacznie więcej możliwości niż wordpress.
Could not reliably determine the server’s fully qualified domain name
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Zapewne taki notice widział niemal każdy. Ja się z nim spotykam prawie zawsze kiedy przychodzi do firmy nowy Junior Developer, który używa Ubuntu/Kubuntu. Oczywiście komunikat w niczym nie przeszkadza, nie zakłóca działania Apacha, ale po co.. skoro można go w bardzo prosty sposób usunąć.
Wystarczy dodać linię w pliku apache2.conf (jeżeli używasz linuxa powinien się znajdować gdzieś w /etc/apache2/apache2.conf lub /usr/local/apache2/…):
sudo vim /etc/apache2/apache2.conf
ServerName localhost
Można ustawić dowolną nazwę serwera (np ServerName blabla) ale w tym wypadku należy “domenę” blabla dodać do pliku hosts (/etc/hosts).
sudo vim /etc/hosts
127.0.0.1 blabla
Po restarcie Apacha (sudo /etc/init.d/apache2 restart) już nie ujrzymy komunikatu, a także możemy korzystać z domeny http://blabla/ w przeglądarce.
Warto przy okazji dodać, że dawno dawno temu plik hosts był jedyną formą systemu DNS jaką posługiwali się użytkownicy internetu. Przesyłano sobie plik z komputera na komputer, dzięki temu można było wpisywać w przeglądarkę nazę zamiast numeru IP. Nietrudno sobie wyobrazić do jakich rozmiarów musiał dochodził taki plik
Symfony, propel, struktura bazy danych, unikalne kolumny
Przyznam, że nie zupełnie od razu wpadłem na to, w jaki sposób definiuje się unikalne kolumny w schema.yml (schema.yml to plik, w którym definiujemy strukturę bazy w projektach opartych na Propelu / Symfony).
Załóżmy, że mamy tabelę autor:
autor:
_attributes: { phpName: Author }
id: ~ #symfony default
imie: { type: varchar(255) }
nazwisko: { type: varchar(255) }
Chcemy teraz, aby nasza tabela nie zawierała duplikatów, czyli autorów o tym samym imieniu i nazwisku (to tylko przykład, wiem, że to nierozsądne
).
W tym celu dodajemy atrybut _uniques a następnie podajemy nazwę klucza autor_unique oraz kolumny imie i nazwisko. W efekcie otrzymujemy taką definicję tabeli:
autor:
_attributes: { phpName: Author }
id: ~ #symfony default
imie: { type: varchar(255) }
nazwisko: { type: varchar(255) }
_uniques:
autor_unique: [imie, nazwisko]
Jak założyć nowego użytkownika MySQL przez konsole?
Umieszczam małą ściągę pt. Jak założyć nową bazę mysql i użytkownika, który będzie miał pełne prawa dostępu do tej bazy (create table, drop table, delete, update etc). Użytkownik ten jednak nie może mieć prawa nawet odczytu z innych baz na serwerze MySQLa.
Załóżmy, że projekt nazywa się owidiusz. Najpierw zakładam bazę:
create database owidiusz;
Następnie uzytkownika, nadajemy mu od razu hasło:
create user owidiusz identified by 'owidiusz123';
Nadajemy uprawnienia do bazy:
GRANT ALL PRIVILEGES ON owidiusz.* TO 'owidiusz'@'localhost';
I odświeżamy uprawnienia:
flush privileges;
I to wszystko
, można korzystać z bazy.