Online bookmarks manager. Implemented using Laravel 3.2.13.
Symlink erstellen auf public-Verzeichnis in htdocs.
Beispiel: Symlink direkt zum public-Verzeichnis innerhalb des lokalen Git-Repos erstellen:
I:\dev\server\xampp\htdocs>mklink /D mylaravel "I:\dev\repo\aeberhardo\php\LaravelTest\public"
symbolische Verknüpfung erstellt für mylaravel <<===>> I:\dev\repo\aeberhardo\php\LaravelTest\public
Nun kann via http://localhost/mylaravel auf die Seite zugegriffen werden.
Besser: Via NetBeans das Laravel automatisch exportieren lassen, z.B. nach I:\dev\server\xampp\apps\mylaravel. Danach einen (relativen) Link erstellen von I:\dev\server\xampp\htdocs nach I:\dev\server\xampp\apps\mylaravel\public
Siehe auch: "Understanding the Laravel PUBLIC folder" http://forums.laravel.com/viewtopic.php?id=1258
Neues Verzeichnis ausserhalb von htdocs anlegen, z.B. "apps" in /home//apps. Die Laravel-Seite nach "apps" kopieren.
In /home//public_html einen Symlink erstellen:
Symlink-Name: mylaravel Symlink-Ziel: ../apps/MyLaravelTest/public
Symlinks können z.B. mit WinSCP erstellt werden. Dafür muss man aber eine SFTP-Verbindung aufgebaut werden.
Nun kann die Seite via http://www..ch/mylaravel erreicht werden.
Es ist eine neue MySQL-Datenbank zu erstellen. Die zu wählende Collation ist "latin1_german2_ci". Dies hat Einfluss, wie die Suche mit "LIKE" funktioniert. Bei den meisten Collations wird z.B. ä==a oder sogar ü==y behandelt. (Alternativ könnte "utf8_bin" verwendet werden, dort wir aber immer ein case-sensitiver String-Vergleich gemacht)
Mittels Artisan Web Bundle (siehe unten): http://localhost/marks/artisan/migrate.install http://localhost/marks/artisan/migrate
Einige Features benötigen PHP 5.4+, z.B. der Task "testdata:insert".
Beim Hoster cyon.ch kann die PHP-Version mittels .htacces konfiguriert werden: In der Datei mylaravel/public/.htaccess als letzte Zeile hinzufügen: AddHandler application/x-httpd-php54 .php
$ export PATH=$PATH:/cygdrive/i/dev/server/xampp/php
In "I:\dev\repo\aeberhardo\php\LaravelTest\application\config\application.php" den "key" auf einen leeren String setzen. Danach die folgenden Commands in einer Shell ausführen:
$ pwd /cygdrive/i/dev/repo/aeberhardo/php/LaravelTest $ php artisan key:generate Configuration updated with secure key!
PHPUnit muss installiert sein.
$ php artisan test
I:\dev\server\xampp\mysql\bin>mysql -uroot
oder
I:\dev\server\xampp\mysql\bin>mysql --user=root --password=
mysql> show tables; +------------------------+ | Tables_in_urlshortener | +------------------------+ | laravel_migrations | | urls | +------------------------+ 2 rows in set (0.00 sec)
mysql> set autocommit=0;
In application.php die Zeitzone wechseln von UTC zu
'timezone' => 'Europe/Zurich',
In application.php: Schönere URLs durch setzen von
'index' => ''
Soll eine Session beim Schliessen des Browsers beendet werden, so ist in session.php zu setzen:
'expire_on_close' => true,
Damit Laravel-Bundles installiert werden können, muss in php.ini (z.B. I:\dev\server\xampp\php\php.ini) die Zeile "extension=php_openssl.dll" aktiviert werden.
Um danach beispielsweise das Artisan-Web-Bundle zu installieren: $ php artisan bundle:install artisan
Wurde das Artisan Web Bundle installiert, können Artisan Commands wie folgt im Browser ausgeführt werden:
http://localhost/marks/artisan/testdata.insert
Dies ist gleichbedeutend wie: $ php artisan testdata:insert
$ mvn clean package clean package -Dapp.key={my_key} -Dimg.path='../apps/marks-images' -Dimg.url='marks-images' -Ddb.host=localhost -Ddb.database={my_db_name} -Ddb.username={my_db_username} -Ddb.password={my_db_password} -Dftp.host={my_ftp_host} -Dftp.user={my_ftp_user} -Dftp.dir=apps/marks-images -Djson.url=http://{my_domain}/marks/bookmarks/missing_thumbs_json
Bei der Git-Konfiguration ist darauf zu achten, dass das CRLF-Verhalten korrekt ist. Damit z.B. Shell-Scripts nicht CRLFs unter Windows erhalten, wenn das Repo gecloned wird, muss die Einstellung "autocrlf = false" in der "gitconfig" vorgenommen werden. Bei MSYS-Git kann dies generell in "msysgit\etc\gitconfig" konfiguriert werden. Dies ist z.B. für den Einsatz von Jenkins nötig.
Thumbnails müssen so auf dem Server abgelegt werden, dass sie direkt mittels einer URL erreichbar sind. Beispielsweise 'http://www.example.com/marks-images/123-thumb.jpg'. Falls der physische Ablageort des Thumbnail-Verzeichnisses nicht im Document-Root ist, so kann ein Symlink erstellt werden.
Sowohl der physiche Ablageort, als auch die zu verwendende URL für den Zugriff, werden durch die Config 'images#path' und 'images#url' in 'my.php' definiert. Diese werden durch den Maven-Build gefiltert.