Pomoc imagemagick wymagany do instalacji partkeepr ...

kaktus

μC Circuitmaker
Contributor
14 Luty 2011
942
216
113
13
opolskie
kaktusa.pl
QNAP
TS-219P+
Ethernet
1 GbE
Od dłuższego czasu użeram się z przygotowaniem działającego pakietu imagemagick.

Jest mi niezbędny w systemie do przeprowadzenia instalacji "programu" partkeepr. Jest to doskonała zaawansowana Baza danych do katalogowania elementów elektronicznych. Aplikacja działa z przeglądarki, autor wyposażył ją w możliwość generowania różnych zestawień, obliczania wartości podzespołów użytych w projekcie, oraz posiadanych i dużo dużo innych. GODNA polecenia każdemu kto chce zawładnąć zapleczem posiadanych podzespołów elektronicznych. Pomimo bardzo dużych możliwości i dużej ilości funkcji interfejs jest przejrzysty i przyjazny, a obsługa intuicyjna.

Tyle słowem wstępu, opiszę co robię po kolei:
  • - wkładam "nowy dysk" do NAS przeprowadzam inicjalizację i instalację sprzętu programem Qfinder i firmware w wersji TS-219/219P/219P+/219P II TurboNAS 3.8.3 build0426,
  • - loguję się z przeglądarki do NAS, od razu przechodzę do Serwer Aplikacji -> QPKG Center i instaluję
Optware IPKG 0.99.163 QNAP Systems, Inc. z zakładki dostępny, instalacja przebiega sprawnie
  • loguję sie do konsoli NAS by przeprowadzić następujące kroki instalacji imagemagick
1. aktualizacja bazy pakietów:
Bash:
ipkg update

2. test czy jest dostępny
Bash:
ipkg list | grep imagemagick
powinna pojawić się linijka jak poniżej:
Kod:
imagemagick - 6.6.9.1-1 - A set of image processing utilities.

3. przystępuję do instalacji
Bash:
ipkg install imagemagick
jak widać od razu zainstalowane są pakiety"pokrewne" niezbędne do pracy instalowanemu

niemniej rithien polecił doinstalować dodatkowo pakiety gawk, oraz sed co uczyniłem, nie wiem po co bo się nie znam :) więc nie wnikam
i sobie instaluję dodatkowo mc
Bash:
ipkg install gawk
ipkg install sed

z ciekawości sprawdzam czy ktoś nie sprodukował nowej wersji któregoś z zainstalowanych pakietów
Bash:
ipkg upgrade
/// koment silasa - kilka sek po instalacji ?!
  • teraz wypadało by spreparować skrypt php do przetestowania wyników instalacji w przeglądarce, więc tworzę takowy oczywiście w stosownym katalogu Web
Bash:
cd /share/HDA_DATA/Web
echo '<? phpinfo() ?>' >>test.php

który to z kolei wywołuję w przeglądarce np wpisując "adres nas"/test.php
teraz zostało przejżeć wyniki instalacji, no i niema ani kropeczki wzmianki o imagemagick
  • po restarcie sprawdzam sobie zawartość zmiennej PATH

Bash:
echo $PATH
w globalnym PATH powinno być /opt/bin:/opt/sbin, które jest dodawane do profilu shella przez Optware, czyli ścieżki PATH powinny wyglądać co najmniej jak te poniżej:
/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/opt/bin:/opt/sbin
widać nowe ścieżki przeszukiwania /opt/bin:/opt/sbin

zaglądam jeszcze raz w okno przeglądarki, no i w sekcji
Apache Environment
Variable|Value
PATH|/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin

nie widać nowych lokalizacji przeszukiwania
/// - w sekcji czego ? bo nei rozumiem? php?

jak również tu

Environment
Variable|Value
PATH|/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin

oraz tu

PHP Variables
Variable|Value
_SERVER["PATH"]| /bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin
_ENV["PATH"]| /bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin

sekcja Core

zawiera natomiast
Directive| Local Value| Master Value
extension_dir| /usr/local/apache/modules| /usr/local/apache/modules

od osób interesujących się problemem mam następujące informacje:

Viking napisał:
U mnie się udało. Procedura instalacji jest taka jak napisałem na początku tego wątku. Po instalacji trzeba jedynie wskazać ścieżkę do ImageMagick. Jeżeli zainstalowałeś skrypt który z tego programu korzysta to powinieneś podać jeszcze następującą ścieżkę /opt/bin/convert
nie mam takiej lokalizacji

rithien napisał:
A dopisales do php.ini ?
extension= (sciezka do imagick.so)
nie mam takiej wtyczki

ale tu można by było chyba dopisać lokalizację /opt/lib jeśli ma sens


Natomiast bardzo ciekawe informacje na temat znalazłem przez przypadek - opisują błedy OPTWARE
Muszę wykonać zalecenia i przetestować.


ściągawka
Sub Commands dla ipkg:
update Update list of available packages from <src> defined in /etc/ipkg.conf
upgrade Upgrade all installed packages to latest version
install <pkg> Download and install <pkg> (and dependencies)
remove <pkg> Remove package <pkg>
list List available packages and descriptions
files <pkg> List all files belonging to <pkg>
search <file> Search for a packaging providing <file>
info [pkg [<field>]] Display all/some info fields for <pkg> or all
status [pkg [<field>]] Display all/some status fields for <pkg> or all
depends <pkg> Print uninstalled package dependencies for <pkg>

- <pkg> may be a package name, or a URI to the *.ipk or *.deb file
- arguments displayed in [ ] are optional
 
Ostatnio edytowane przez moderatora:
nie widać nowych lokalizacji przeszukiwania
Napisałem kilka linijek, które utworzą skrypt Autorun oraz dorzuci go do App Center/QPKG. Za każdym uruchomieniem systemu Autorun będzie dorzucał do skryptu kontrolującego Apache linie z eksportem globalnym PATH.
Bash:
publicdir=`/sbin/getcfg Public path -f /etc/config/smb.conf`
qpkgdir=`cd $publicdir && cd ../.qpkg && pwd`
base=$qpkgdir/Autorun
mkdir -p $base
cd $base

# create file and write content
script=$base/custom.sh
touch $script

cat > $script << \EOF
#!/bin/sh

export PATH=$PATH:/opt/bin:/opt/sbin

type -f ipkg 2>&1 >/dev/null
ipkg_installed=$?
if [ $ipkg_installed -eq 0 ]; then
        ipkg install update 2>&1 >/dev/null
        ipkg install sed 2>&1 >/dev/null
        ipkg install grep 2>&1 >/dev/null
fi

# adds line 42 into apache control script
_t="/usr/local/apache/bin/apachectl"
cp $_t $_t.orig
sed '42i\export PATH=\$PATH:/opt/bin:/opt/sbin' $_t.orig > $_t

_q="/etc/init.d/Qthttpd.sh"
cp $_q $_q.orig
sed '4i\export PATH=\$PATH:/opt/bin:/opt/sbin' $_q.orig > $_q

$_q restart

EOF

chmod +x $script

# add custom Autorun as QPKG
qpkgconf=/etc/config/qpkg.conf
content="[Autorun]\nName = Autorun\nVersion = 1.0\nAuthor = Silas Mariusz\nDate = 2013-07-27\nShell = ${script}\nInstall_Path = ${base}\nEnable = TRUE"
echo -e $content >> $qpkgconf

# time to run the job
sh $script
 
Ostatnio edytowane:
  • Lubię to
Reakcje: kaktus
Skrypt zmontowany i uruchomiony.
Zrobił w QPKG Center nową pozycję, dorobił Katalog Autorun z zawartością, po za tym wszystko po staremu. Nic do przodu.
Skrypt testowy php nie pokazuje żadnych nowych lokalizacji, ani też imagemagick.

Partkeepr nie wykrywa obecności imagick. partkeepr.png
 
(Skrypt automatycznie instalujący ImageMagick dla serwerów QNAP na platformie ARM oraz Intel: https://forum.qnap.net.pl/threads/imagemagick-w-serwerze-web.3677/)

Weryfikuj detekcje modułu przez PHP nie w sposób jego wykrywania przez partkeepr, czy przez phpinfo() a przez argument -m.
Jednak dobrze byłoby sprawdzić czy moduł imagick.so jest wykrywany przez php z Optware:
Bash:
/opt/bin/php -m
Wówczas po potwierdzeniu jego sprawności, uruchamiać w php z systemu QNAP'a:
Bash:
/usr/local/apache/bin/php -m
 
  • Lubię to
Reakcje: kaktus