데비안 패키지 빌드

데비안 패키지 빌드

며칠 동안 그곳에 있었고 이제 좀 더 경험이 풍부한 조언을 얻을 때가 왔다고 생각합니다.

저는 Perl 응용프로그램을 패키징하는 작업을 하고 있습니다. 모든 파일은 /var/www/<packagename>시스템의 디렉토리에 배치되어야 합니다.

지금까지 나는 패키지를 만들 수 있었지만 이 디렉토리에 내 파일을 배치하지 않았으며 그렇게 하는 방법에 대한 간결한 방법을 읽지 않았습니다.

지금은 내 패키지가 제대로 빌드됩니다. Lintian 경고는 제외하지만 주로 dh_make의 템플릿 파일을 사용하고 있다는 점입니다. 이 파일이 제대로 작동하게 되면 업데이트하겠습니다.

본질적으로 지금은 다음과 같은 구조를 가지고 있습니다.

ls:

packagedirectory-1.0
 - debian directory with control/copyright/rules/ ...
 - directory belonings to app
 - directory belonging to app
 - files belonging to app
package)1.0-1.tar.gz

나는 함께 건물을 지어왔다

dpkg-buildpackage -us -uc

(지금은 서명하지 않고 제대로 빌드되면 서명할 것입니다.) 패키지 디렉터리에서 이 작업을 수행합니다. 그리고 이것은 my .deb, .changes, .orig.tar.gz.dsc

어떤 도움이라도 주시면 감사하겠습니다. 다시 말하지만 여기서 내가 겪고 있는 주요 문제는 /var/www/<packagename>설치 시 앱 파일/디렉토리를 넣고 싶다는 것입니다 .

답변1

데비안 패키지는 /var/www 아래에 파일을 설치해서는 안 됩니다. 이는 파일 계층 표준의 /var 디렉터리 중 하나가 아니며 로컬 관리자의 제어를 받습니다. 패키지는 웹 서버의 문서 루트라고 가정해서는 안 됩니다. 사용자가 기본 문서 루트를 변경하는 것은 매우 일반적인 일이며 패키지는 사용자가 특정 설정을 유지할 것이라고 가정해서는 안 됩니다.

설치된 웹 서버를 통해 파일을 사용할 수 있게 만들려는 패키지는 대신 README.Debian 파일에 로컬 관리자를 위한 지침을 넣어야 하며 이상적으로는 Apache와 같은 일반적인 웹 서버에 대한 구성 조각을 포함해야 합니다.

http://lintian.debian.org/tags/dir-or-file-in-var-www.html

phpldapadmin - 널리 사용되는 PHP 기반 LDAP 관리 도구 - 두 가지 옵션과 함께 /etc/apache2/conf.d/에 포함될 파일과 함께 제공됩니다.

# Option 1: Define /phpldapadmin alias, this is the default
<IfModule mod_alias.c>
    Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
</IfModule>

# OR Option 2: You can also use phpLDAPadmin as a VirtualHost
<VirtualHost *:*>
 ServerName ldap.example.com
 ServerAdmin [email protected]
 DocumentRoot /usr/share/phpldapadmin/htdocs
 ErrorLog logs/ldap.example.com-error.log
 CustomLog logs/ldap.example.com-access.log common
</VirtualHost>

#Then define the directory options like default index, access control etc.
<Directory /usr/share/phpldapadmin/htdocs/>
 DirectoryIndex ...
 ...
</Directory>

이 예에 따라 /usr/share/yourpackage/htdocs의 /var/www/yourpackage에 표시하려는 파일을 설치하고 편집합니다.당신의그에 따라 Apache conf가 포함되었습니다. 그런 다음 포함된 Apache conf 조각을 /usr/share/doc/yourpackage/examples/에 저장하거나 패키지와 함께 /etc에 직접 설치하십시오. README.Debian(동일한 문서 디렉토리에 있음)에 지침을 추가하여 사용자가 /etc/yourapp.conf 또는 /etc/yourapp/apache.conf를 /etc/apache2/conf.d/yourapp.conf에 연결하고 Apache를 다시 시작하도록 합니다.

답변2

나는 다음에서 찾은 정보를 사용했습니다.https://stackoverflow.com/questions/3214319/i-need-my-debian-rules-file-to-simply-copy-files-to-its-target그래서 질문입니다. 이 동안~ 아니다패키지를 외부용으로 사용하는 경우 /var/www 파일에 파일을 배치하는 적절한 방법입니다. 이는 내부적으로 사용되는 패키지이므로 저에게 효과적입니다.

참조하세요과잉 처방의 댓글이에 관해서는 매우 자세한 정보가 있기 때문에 실제 질문에 대답하지 않고 그렇게해서는 안된다고 말했기 때문에 받아들이지 않았습니다.

관련 정보