1C Linux 서버의 다른 인스턴스를 설치하십시오. 감지되지 않은 데이터베이스 서버가 호스트 이름 "NAME"을 주소로 변환할 수 없습니다. 이름 확인에 일시적인 오류가 발생했습니다.

또한 설치 중에 ssh 서버(필요한 경우) 및 samba-server(1C 필요) 설치 옆의 확인란을 선택하는 것을 잊지 마세요 :)

1) 준비:

네트워크를 설정하고 정적 주소 지정을 사용해 보겠습니다.

Sudo vi /etc/network/interfaces

자동 eth0 iface eth0 inet 정적 주소 192.168.1.8 넷마스크 255.255.255.0 브로드캐스트 192.168.1.255 게이트웨이 192.168.1.1 dns-nameservers 192.168.1.4 192.168.1.6

여기서, auto eth0 - 시스템이 다음 매개변수를 사용하여 부팅할 때 eth0 인터페이스가 자동으로 활성화되어야 함을 시스템에 알립니다.

iface eth0 inet static - eth0이 정적 인터페이스를 사용하고 있음을 나타냅니다. DHCP 서버를 사용하는 경우 static 대신 dhcp를 작성하십시오.

12.04부터 프로그램은 DNS 구성을 담당합니다. resolvconf(파일 대신 /etc/resolv.conf) 따라서 DHCP 서버를 사용하지 않는 경우에는 정적 인터페이스용 DNS 서버를 입력해야 합니다. /etc/네트워크/인터페이스매개변수 사용 DNS-네임서버, DNS-검색 및 DNS-도메인,해당 매개변수 네임서버, 찾다그리고 도메인 V resolv.conf.

서비스 다시 시작:

Sudo /etc/init.d/networking 재시작

업데이트됨:

Sudo apt-get 업데이트

Sudo apt-get dist-upgrade

우리는 넣어 미드나잇 커맨더(엠씨)

Sudo apt-get 설치 mc

2. PostgreSQL 데이터베이스 서버 설치 및 구성

편의상 매번 입력하지 않도록 sudo루트 모드로 전환해 보겠습니다.

우리는 필요한 패키지를 설치합니다 올바른 작동 포스트그레SQL:

Apt-get 설치 libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

여기에서 최신 안정 버전의 PostgreSQL을 다운로드하세요.

다음 명령을 사용하여 패키지를 설치합니다.

그러면 시스템에 postgres 사용자가 나타나고 DBMS를 시작하고 중지하기 위한 /etc/init.d/postgresql 스크립트가 생성됩니다.

그런 다음 postgres 사용자 및 그룹에 pgsql 폴더에 대한 권한을 부여합니다.

Chown 포스트그레스:postgres /var/lib/pgsql

postgres 사용자의 비밀번호를 설정합니다.

비밀번호 포스트그레스

/etc/group을 편집합니다. 여기서 기존 그룹 ID tape:x:26:은 다른 그룹 ID(예: 27:)로 변경됩니다. 결과적으로 다음 줄이 있어야 합니다.

Postgres:x:26: 테이프:x:27:

명령으로 서비스를 시작하고 LANG 변수의 값을 지정합니다. 초기 데이터베이스 생성에 필요:

LANG=ru_RU.utf-8 서비스 postgresql 시작

그들은 현재 Shmmax 값이 PostgreSQL을 실행하기에는 너무 작다고 맹세하고 사용자가 직접 지정하도록 제안할 수 있지만 우리는 더 현명하게 행동하고 Shmmax 및 Shmall의 필요한 크기를 바이트 단위로 계산하고 표시하는 다음 스크립트를 사용할 것입니다.

SHMMAX는 서버에서 사용 가능한 모든 메모리의 절반에 해당하는 공유 메모리 세그먼트의 최대 크기(바이트)입니다.

SHMALL은 서버의 모든 프로세스가 사용할 수 있는 공유 메모리(페이지 단위)의 총량입니다.

그런 다음 다음 명령을 사용하여 얻은 값을 씁니다.

에코 "kernel.shmmax = 521981952" >> /etc/sysctl.conf 에코 "kernel.shmall = 127437" >> /etc/sysctl.conf

아니면 수동으로 /etc/sysctl.conf에 작성하겠습니다. 변경 사항을 적용하려면 다음을 입력하십시오.

사용자 postgres를 비밀번호 "YOUR_PASSWORD"로 변경하세요.

콘솔을 종료하려면 \q를 입력하세요.

/var/lib/pgsql/data/pg_hba.conf 파일은 다음과 같습니다:

#IPv4 로컬 연결: 모든 postgres 0.0.0.0/0 md5 호스트

주요 구성 /var/lib/pgsql/data/postgresql.conf다음 데이터에 따라 편집하십시오. 가장 중요한 매개변수의 평균 설정:

Shared_buffers = 1/8 RAM 이상(1/4 이하) work_mem = 1/20 RAMmaintenance_work_mem = 1/4 RAM max_fsm_relations = 데이터베이스의 계획된 테이블 수 * 1.5 max_fsm_relations의 max_fsm_pages * 2000; fsync = true wal_sync_method = fdatasync commit_delay = 10에서 100까지 commit_siblings = 5에서 10까지 Effective_cache_size = 캐시된 값의 0.9, 이는 무료로 표시됩니다.random_page_cost = 빠른 CPU의 경우 2, 느린 CPU의 경우 4 cpu_tuple_cost = 빠른 CPU의 경우 0.001, 느린 CPU의 경우 0.01 = 빠른 CPU의 경우 0.0005, 느린 CPU의 경우 0.005

최대 성능을 위한 설정을 최적화하려면 pgtune 유틸리티를 사용해 볼 수 있습니다.

Wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gz

Tar xvfz *.tar.gz

pgtune을 사용하여 디렉터리로 이동하여 다음 명령을 실행합니다.

./pgtune -i $PGDATA/postgresql.conf -o $PGDATA/postgresql.conf.pgtune

-나— 입력 경로, 현재 설정 파일 postgresql.conf,

-영형— 출력 경로, 새 설정 파일 postgresql.conf.

명령을 실행한 결과, 우리는 동일한 결과를 얻습니다. 원본 파일단, 파일 맨 끝에 있는 몇 가지 새로운 pg_tune 매개변수는 예외입니다.

$PGDATA- 가리키는 변수 /var/lib/pgsql/데이터. 지정하지 않은 경우 다음에서 지정할 수 있습니다. /etc/환경.

postgresql.conf 설정에 대한 자세한 내용은 Etersoft 또는 Vecheslav Gilev 웹사이트의 1C 관련 항목을 참조하세요. PostgreSQL 학습 과정에 대해 더 깊이 알고 싶은 사람들을 위해 Alexey Vasiliev의 훌륭하고 상세한 매뉴얼이 있습니다. :)

가장 일반적으로 사용되는 Postgresql 명령은 다음과 같습니다.

루트 비밀번호 변경:

비밀번호 'newpassword'로 사용자 postgres 변경;

3. 1C Enterprise 8 설치

1C Enterprise 서버가 올바르게 작동하려면 다음 패키지를 설치하십시오.

Sudo apt-get install imagemagick libglib2.0-dev libgsf-1-dev texlive-base ttf-mscorefonts-installer libfreetype6 libfreetype6-dev unixodbc unixodbc-dev

1C 웹사이트에서 Linux(Debian/Ubuntu)용 1C8.2 기술 플랫폼을 다운로드하세요.

패키지는 다음 순서로 설치되어야 합니다. 왜냐하면... 종속성이 있습니다.

마스크를 사용하여 한꺼번에 모두 설치하면 오류가 발생할 수 있습니다.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // 공통 서버 구성 요소
2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // 공통 구성 요소에 대한 국가 리소스
3) 1c-enterprise82-server_8.2.15-319_amd64.deb // 1C:Enterprise 8.2 Linux용 서버
4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // 1C 서버용 국가 리소스
5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // Apache HTTP Server 2.0 또는 Apache HTTP Server 2.2 기반 웹 서버에 1C:Enterprise 8 웹 서비스를 게시하기 위한 어댑터;
6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // 1c8.2 웹 서비스 구성 요소에 대한 국가 리소스

시작에 추가:

Update-rc.d srv1cv82 기본값

usr1cv82 사용자가 /opt/1C 및 /home/usr1cv82에 쓸 수 있도록 허용합니다.

Chown -R usr1cv82:grp1cv82 /opt/1C

Chown -R usr1cv82:grp1cv82 /home/usr1cv82

서버를 다시 시작합니다. 서비스가 올바르게 시작되는지 확인합니다.

서비스 srv1cv82 상태

다음이 표시되어야 합니다.

초기화 스크립트: 시작됨 Ragent: 실행 중

방화벽을 사용하는 경우 1C 서버가 작동하려면 다음 포트를 열어야 합니다. tcp:1540 - 서버 에이전트(ragent) tcp:1541 - 기본 클러스터 관리자(rmngr) tcp:1560-1591 - 네트워크 포트 범위 작업 프로세스의 동적 배포. (그냥 tcp:1560을 열어보세요)

A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541 -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j 수락

서버 워크플로의 기능 확인:

Netstat -tlnp | 그렙:15

다음과 같은 결과를 얻어야 합니다:

Tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/ RMNGR

그러나 우리는 다음을 얻습니다:

Tcp 0 0 0.0.0.0:1540 0.0.0.0:* 듣기 960/ragent

또한 보기 실행 중인 프로세스다음 명령을 사용할 수 있습니다.

다음과 같은 결과를 얻어야 합니다:

Usr1cv82 931 0.0 1.8 338376 18612 ? SSL Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon usr1cv82 935 0.1 3.0 790496 31376 ? Sl Jul04 2:31 /opt/1C/v8.2/x86_64/rmngr -port 1541 -range 1560:1591 usr1cv82 948 0.4 11.5 720804 117412 ? Sl Jul04 6:21 /opt/1C/v8.2/x86_64/rphost -range 1560:1591 -reghost ubuntus12 -re

그러나 ragent만 시작됩니다.

Usr1cv82 931 0.0 1.8 338376 18612 ? SSL Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon

불행히도 탬버린과 함께 춤을 추는 것은 아무 일도 일어나지 않았으며 모든 곳에서 권한이 올바르게 설정되고 네트워크가 올바르게 구성되었습니다. 많은 사람들이 릴리스 15와 비슷한 문제를 겪고 있다는 것을 검색했지만 8.2.15-319가 있습니다. 그리고 318이 효과가 있었던 것으로 기억합니다 :) 리뷰를 작성할 당시 최신 버전인 8.2.16.362를 사용해 보기로 결정했는데, 놀랍게도 모든 것이 처음부터 정상적으로 시작되었습니다.

이제 검사 스크립트를 사용하여 맨 처음에 설치한 구성 요소가 올바르게 설치되었는지 확인해야 합니다.

/opt/1C/v8.2/x86_64/utils/*config_server

메시지를 받지 못하고 type.xml 파일이 /opt/1C/v8.2/x86_64/conf/grcmncfg 디렉터리에 나타나면 모든 것이 정상입니다. 제 경우에는 스크립트에서 많은 오류가 발생합니다. . 첫 번째 메시지는 특정 libc 파일에 액세스할 수 없다고 말합니다.

/lib/libc-*.so에 액세스할 수 없습니다. 해당 파일이나 디렉터리가 없습니다. /lib64/libc-*.so에 액세스할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

이 파일이 실제로 어디에 있는지 살펴보겠습니다.

/ -name "libc-*.so" 찾기 -print

우리는 다음과 같은 결과를 얻습니다:

/lib/x86_64-linux-gnu/libc-2.15.so

스크립트가 이를 찾지 못하는 것은 놀라운 일이 아니므로 우리는 차례로 두 개의 심볼릭 링크를 만듭니다.

Ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc-2.15.so ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/libc-2.15.so

그런 다음 스크립트를 다시 실행합니다. "액세스" 오류는 사라지지만 다음 내용은 남아 있습니다.

./config_server: 193행: [: 인수가 너무 많습니다. ./config_server: 193행: [: 인수가 너무 많습니다. ./config_server: 193행: [: 인수가 너무 많습니다. ./config_server: 193행: [: 인수가 너무 많습니다. ./ config_server: 193행: [: 인수가 너무 많습니다.

193행에는 필요한 1su 라이브러리가 포함되어야 하는 $SYSTEM_LIB_PATH 변수 폴링을 가리키는 다음 항목이 포함되어 있습니다.

[ ! -e $aliasFullName ] && 1을 반환합니다.

스크립트가 정확히 무엇을 감지할 수 없는지 살펴보겠습니다. 다음을 실행하세요.

$aliasFullName 에코

우리는 다음을 얻습니다:

SYSTEM_LIB_PATH를 감지할 수 없습니다. 이 환경 변수를 수동으로 설정하십시오!/libWand.so SYSTEM_LIB_PATH를 감지할 수 없습니다. 이 환경 변수를 수동으로 설정하십시오!/libfreetype.so SYSTEM_LIB_PATH를 감지할 수 없습니다. 이 환경 변수를 수동으로 설정하십시오!/libgsf- 1.so SYSTEM_LIB_PATH를 감지할 수 없습니다. 이 환경 변수를 수동으로 설정하십시오!/libglib-2.0.so SYSTEM_LIB_PATH를 감지할 수 없습니다. 이 환경 변수를 수동으로 설정하십시오!/libodbc.so

내가 이해하는 바에 따르면 SYSTEM_LIB_PATH는 세 가지 가능한 디렉터리에서 찾고 있는 파일을 감지해야 합니다.

/usr/lib /usr/lib32 /usr/lib64

또한 /etc/environment에서 SYSTEM_LIB_PATH를 수동으로 설정해야 합니다. 예를 들어 /usr/lib/에서만 라이브러리를 검색하도록 합니다.

SYSTEM_LIB_PATH="/usr/lib"

서버를 다시 시작하고 스크립트를 다시 실행하면 다음과 같은 결과가 나타납니다.

/usr/lib/libWand.so /usr/lib/libfreetype.so 다음 패키지를 설치하십시오: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so 다음 패키지를 설치하십시오: libglib /usr /lib/libodbc.so 다음 패키지를 설치하십시오: UnixODBC

파일 libWand.so그리고 libgsf-1.so그들이 있어야 할 곳에 있습니다. 다른 파일들 libfreetype.so, libglib-2.0.so그리고 libodbc.so/usr/lib/x86_64-linux-gnu에 있습니다. 따라서 우리는 다시 슬링크를 만듭니다.

Ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so ln -s /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/libglib -2.0.so ln -s /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/libodbc.so

스크립트를 다시 실행하면 이제 모든 라이브러리가 필요한 디렉토리에 있음을 알 수 있습니다.

/usr/lib/libWand.so /usr/lib/libfreetype.so /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so /usr/lib/libodbc.so

클라이언트에서 Windows의 경우 1CV8 서버 관리 콘솔(1C Enterprise 서버 관리)로 이동합니다. 클릭하여 Central Server 1C:Enterprise 8.2를 추가하고 이름으로 추가하세요. 작업 서버 탭에 항목이 나타나야 합니다. 관리 콘솔을 직접 사용하거나 1C 클라이언트 자체에서 새 데이터베이스를 생성하고 다음 옵션을 선택합니다.

새로운 정보 베이스를 추가합니다.

1C를 시작합시다. Gilev의 테스트는 13.05점을 제공합니다.

HASP 키와 관련하여 최대 12명의 사용자가 있는 경우 NETXX ORGL8과 같이 표시된 네트워크 키만 필요합니다. 여기서 XX는 클라이언트 라이센스 수입니다. 사용자가 12명이 넘지만 서버에 대한 로컬 키도 필요한 경우. 32비트 서버의 경우 ENSR8로 표시된 보라색 HASP HL ​​​키 또는 64비트 서버의 경우 ENS8SA로 표시된 녹색 HASP HL ​​Max 키입니다. HASP 키 HL Max는 32비트 서버도 지원합니다.

HASP 키가 정상적으로 작동하려면 aksusbd 키 드라이버와 hasplm 라이센스 관리자가 포함된 두 개의 패키지를 설치해야 합니다. Entersoft에서 수정된 버전의 드라이버를 설치하는 것이 좋습니다. haspd가 제대로 작동하려면 32비트 프로그램에 대한 지원이 필요합니다.

따라서 ia32-libs 패키지를 설치하여 추가합니다.

Apt-get 설치 ia32-libs

이제 HASP 자체와 라이선스 관리자는 다음과 같습니다.

Dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

키를 삽입하고 서버를 재부팅합니다. 다음 명령을 사용하여 키의 기능을 확인합니다.

Sudo 서비스 haspd 상태

실행 중이어야 합니다: aksusbd, winehasp, hasplm, hasplmd.

4. 웹 서버에 게시

아파치를 설치합니다:

Apt-get 설치 apache2

/etc/apache2/apache2.conf를 편집하여 서버 이름을 나타내는 ServerName 지시문을 설정합니다.

서버 이름 "ubuntus12"

그렇지 않으면 Apache를 시작할 때 다음 메시지를 받게 됩니다.

Httpd: ServerName에 127.0.0.1을 사용하여 서버의 정규화된 도메인 이름을 안정적으로 확인할 수 없습니다.

사이트의 루트 디렉터리에서 기본 디렉터리를 생성합니다. 여기서 기본은 액세스를 제공할 기본 이름입니다.

Mkdir /var/www/base

이제 웹 서버에 데이터베이스를 게시하기 위해 특수 스크립트를 실행해야 합니다.

/opt/1C/v8.2/x86_64/로 이동하여 다음 매개변수를 사용하여 스크립트를 실행합니다.

./webinst -apache22 -wsdir base -dir "/var/www/base" -connStr "Srvr="ubuntus12";Ref="base";" -confPath /etc/apache2/httpd.conf

변경 사항의 정확성을 확인합니다. /etc/apache2/httpd.conf에는 다음 줄이 있어야 합니다:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c 출판 Alias ​​​​"base" "/var/www/base/" AllowOverride 없음 옵션 없음 주문 허용, 거부 모든 SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"에서 허용

default.vrd 파일은 /var/www/base/에도 나타나야 하며 파일의 마지막 두 줄은 다음과 같아야 합니다.

베이스="/베이스" ib="Srvr="ubuntus12";Ref="베이스";

디렉터리에 권한을 부여하고 Apache를 다시 시작합니다.

Chown -R www-data:www-data /var/www/base

서비스 apache2 다시 시작

이전에 팝업 창을 비활성화한 후 브라우저로 이동합니다.

http://ubuntus12/base

그리고 우리는 다음과 같은 메시지를 받습니다:

물론 특별한 네트워크 키가 없으면 작동하지 않습니다. :)

5. 백업 및 복원:

백업을 업로드할 이 폴더에 대한 권한을 postgres 사용자에게 부여합니다.

Chown 포스트그레스:postgres /mnt/net

안에 /mnt/net다음 명령을 사용하여 Windows 공유를 마운트했습니다.

Mount -t smbfs -o 사용자 이름=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

마운트를 해제하고 필요한 경우 모든 연결을 강제로 닫습니다.

마운트 해제 -l /mnt/net

지원:

Pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dump

유(사용자)
-F(추출 파일 형식)
c (사용자 정의 - 내부 압축 형식 pg_dump, tar 및 일반 텍스트 옵션도 가능)
-Z(압축 모드 설정)
0 - 9(0 - 압축 없음, 9 - 최대 모드)
-f(이 파일로 추출)

Windows 공유에 업로드하는 경우 사용자에 대한 전체 액세스 권한이 필요합니다.

복원(postgres 사용자만 해당):새 데이터베이스로:

Createdb -T template0 newdb

#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`날짜 "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "$(BKPDIR)/$(DATEYMD) -mydb-PostgreSQL.dump"

crontab 항목(postgres 사용자의):
포스트그레스
crontab -e //작업 추가
crontab -l //작업 보기
crontab -r //작업 삭제

# 18:50분에 시작

50 18 * * * sh /home/scripts/backup.sh

# 15분마다 실행

*/15 * * * * sh /home/scripts/backup.sh

Debian 서버 중 하나를 9.2 Stretch로 업데이트했기 때문에 1C 서버와 최신 버전인 PostgreSQL을 설치해야 합니다.

Debian 9.2 Stretch가 탑재된 서버, 1C:Enterprise 서버 배포판 8.3.10.2580 및 PosgreSQL 9.6이 있습니다. 협업을 위해서는 1C:Enterprise 8.3.10.2580 서버와 PosgreSQL 9.6을 설치하고 구성해야 합니다.

해결책

우리가 가장 먼저 하는 일은 현지화를 설정하는 것입니다. 1C 서버는 ru_RU.UTF8 현지화로 작동하며 PostgreSQL은 기본 현지화로 클러스터를 생성합니다.

# locale-gen en_US # locale-gen ru_RU # update-locale LANG=ru_RU.UTF8 # dpkg-reconfigure locales

마지막 명령은 선택한 옵션의 정확성을 확인하고 긍정으로 대답해야 하는 의사 그래픽 인터페이스를 엽니다. 실제로 마지막 명령을 사용하여 그 안에 있는 모든 것을 구성할 수 있습니다. 변경 사항을 적용하려면 시스템을 재부팅해야 합니다.

1C 설치:엔터프라이즈 서버

필요한 패키지를 미리 설치해 봅시다

# apt-get 설치 imagemagick ttf-mscorefonts-instal

원칙적으로 서버 설치에는 문제가 없으며 패키지를 순차적으로 설치합니다.

# dpkg -i 1c-enterprise83-common_8.3.10-2580_amd64.deb # dpkg -i 1c-enterprise83-server_8.3.10-2580_amd64.deb # dpkg -i 1c-enterprise83-ws_8.3.10-2580_amd64.deb

갑자기 패키지가 설치되지 않으면 다음 명령을 사용하십시오.

# apt-get -f 설치

결국 모든 것이 괜찮을 것입니다. 괜찮지 않으면 배기 가스를 읽고 종속성을 수정합니다. 나는 아무런 문제가 없었습니다.

이 단계에서는 이미 서버 콘솔에 서버를 추가할 수 있으며 표시되어야 합니다.

1C:Enterprise 서버 서비스를 시작, 다시 시작, 중지하려면 다음 명령을 사용할 수 있습니다.

# /etc/init.d/srv1cv83 시작 # /etc/init.d/srv1cv83 다시 시작 # /etc/init.d/srv1cv83 중지

HASP 드라이버를 설치해야 하는 경우 기사에서 설치 방법을 읽을 수 있습니다.

PostgreSQL 설치

PostgreSQL을 사용하면 모든 것이 그렇게 간단하지는 않습니다. 그 전에는 1C에서 배포한 버전 9.4가 있었고 배포에는 모든 패키지가 포함되었으며 고장을 피하기 위해 버전은 apt를 사용하여 수정되었습니다. 그러나 9.6에서는 모든 패키지가 그런 것은 아니며, 일부 패키지는 PostgreSQL 버전과 필수 구성 요소로 다운그레이드된 종속 구성 요소를 사용하여 기본 저장소에서 설치해야 합니다.

저는 이 경로가 별로 마음에 들지 않았습니다. 인터넷과 제휴 프로그램에서 Postgres Professional이 배포한 PostgreSQL을 발견하고 설치하기로 결정했습니다. 해당 회사에는 Postgre Pro라는 자체 제품이 있습니다. 기업 고객, 하지만 PostgreSQL은 내 요구 사항에 충분합니다. .

지침에 따라 저장소를 연결하고 키를 추가한 후 PostgreSQL을 설치합니다.

# sh -c "echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list" # wget -- 조용한 -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | apt-key add - && apt-get 업데이트 # apt-get install postgresql-pro-1c-9.6

클러스터는 설치 중에 자동으로 생성됩니다. 기본, 몇 가지 조정만 하면 됩니다. 연결하려면 파일을 엽니다. / etc/postgresql/9.6/main/pg_hba.conf

# 나노 /etc/postgresql/9.6/main/pg_hba.conf

선을 찾아라

로컬 모든 postgres 피어

그리고로 변경 또래~에 신뢰하다

# psql -U postgres -d template1 -c "ALTER USER postgres 비밀번호" 비밀번호""

대신에 비밀번호필요한 비밀번호를 작성하세요.

남은 것은 서비스를 다시 시작하는 것뿐이며, pgAdmin을 사용하여 PostgreSQL 서버에 연결할 수 있습니다.

PostgreSQL 서버 서비스를 시작, 다시 시작, 중지하려면 다음 명령을 사용할 수 있습니다.

# /etc/init.d/postgresql 시작 # /etc/init.d/postgresql 재시작 # /etc/init.d/postgresql 중지

모든 작업을 완료했는데도 서버가 여전히 작동하지 않는다면 가장 먼저 해야 할 일은 현지화를 확인하는 것입니다. 잘못된 현지화가 설치된 경우 아래의 클러스터, 명령 및 실행 결과를 다시 만들어야 합니다.

# pg_dropcluster --stop 9.6 main 중지 요청을 systemctl로 리디렉션 # pg_createcluster --locale ru_RU.UTF-8 9.6 main 새 클러스터 생성 9.6/main ... config /etc/postgresql/9.6/main data /var/lib/postgresql/ 9.6/main 로케일 ru_RU.UTF-8 소켓 /var/run/postgresql 포트 5432

결과 확인

이제 서버 콘솔로 이동하여 정보 보안을 추가하고 작동을 확인할 수 있습니다.

Linux용 1C 또는 터미널 서버의 1C 중 무엇을 선택해야 합니까?

Php 저작권: 2003-2019 SysElegance Ltd. 판권 소유.

1C 8.3 플랫폼의 클라이언트 부분 무료 발표와 관련하여 운영 체제 Linux에서는 1C 플랫폼에 터미널 모드를 계속 사용하는 것이 타당성에 대한 질문을 점점 더 많이 받고 있습니다.

간단히 말해서 우리의 대답은 다음과 같습니다. 1C 플랫폼의 터미널 모드는 무료 Linux, 유료 Windows 또는 기타 운영 체제 등 로컬 설치로는 해결할 수 없는 여러 문제를 해결합니다.

유일한 차이점은 시작 가격입니다. 호스트 운영 체제, Linux 운영 체제의 1C 플랫폼은 Windows의 로컬 설치보다 더 좋거나 나쁘게 작동하지 않습니다.

대부분의 회사는 가격 때문에 전혀 1C 플랫폼의 터미널 작동 모드를 선택하지 않습니다 (터미널 구현에서) 마이크로소프트 서버, 예를 들어 가격은 로컬 설치 가격보다 훨씬 높습니다).

또한 터미널 솔루션은 모든 프로그램, 주변 장치 및 워크스테이션을 포함하는 전체 인프라를 위한 플랫폼입니다. 1C 플랫폼은 인프라 구성 요소 중 하나일 뿐입니다.

아래 표에서 볼 수 있듯이, 그들의 솔루션보다 더 많은 단점과 문제점이 있습니다.

장점과 기회 단점과 한계
  • 리눅스 운영체제는 무료입니다
  • 무료 Linux 운영 체제를 유지하는 데는 항상 비용이 더 많이 듭니다. 유료 윈도우
  • 무료 Linux 운영 체제는 터미널 스테이션(씬 클라이언트)과 달리 각 워크스테이션에 디스크, 메모리 및 최신 개인용 컴퓨터가 필요합니다.
  • 직장 개인용 컴퓨터개인 서비스가 필요합니다
  • 현재 회계 등록 기관 및 거래 장비에 대한 드라이버는 없습니다.
  • 사용자는 조만간 다른 Windows 프로그램을 사용해야 할 수도 있습니다.
  • 터미널 서버가 필요하지 않습니다
  • 터미널 서버는 특히 파일 모드에서 1C 플랫폼의 안정성, 응답성 및 속도 문제를 해결합니다.
  • 터미널 서버가 더욱 안정적이고 신뢰할 수 있습니다.
  • 터미널 서버를 사용하면 씬 클라이언트를 사용할 수 있습니다.
  • 터미널 서버를 사용하면 원격 및 인터넷을 통해 분산된 1C 플랫폼을 사용할 수 있습니다.
  • Linux 운영 체제용 터미널 서버를 사용할 수 있습니다.
  • Linux 운영 체제용 터미널 서비스 무료 버전은 전문가라도 구성하기가 매우 어렵습니다.
  • 주변 장치, 특히 1C 플랫폼에 중요한 프린터 및 포트를 사용하여 작업하는 방법을 모릅니다.
  • Linux 운영 체제용 터미널 서비스 프로토콜은 인터넷을 통한 작업에 최적화되어 있지 않습니다.
  • Linux 운영 체제용 상용 터미널 서버를 사용할 수 있습니다.
  • Linux 운영 체제용 터미널 서비스 상용 버전의 가격은 Windows용 터미널 솔루션과 비슷합니다.
  • 무료 버전과 마찬가지로 Linux 운영 체제용 상용 터미널 서비스 버전은 주변 장치와 선택적으로 작동합니다.
  • 씬 클라이언트 운영 체제에 통합 가능
  • 다운로드 시간 증가 - 1C 8.3 플랫폼의 클라이언트 부분 패키지는 400MB를 차지합니다.
  • 요구 사항 랜덤 액세스 메모리 씬 클라이언트- 최소 2GB
  • 씬 클라이언트 프로세서 요구 사항: 최소 Atom 1.6GHz
  • 문서를 인쇄할 수 없음

그러나 1C 8.3 플랫폼 클라이언트는 SysElegance Thinstation Enterprise 디스크 없는 운영 체제(버전 4부터)용 다운로드 가능한 모듈로 사용할 수 있습니다. 적용 범위는 극히 제한됩니다.

  • 터미널 서버를 사용할 수 없을 때 1C 플랫폼에 대한 백업 액세스
  • 다른 응용 프로그램과의 작업이 필요하지 않은 장소(예: 창고)에서 1C 플랫폼에 액세스
  • 문서 인쇄가 필요하지 않은 장소에서 1C 플랫폼에 액세스
  • 미래에는 현금 단말기(구성 및 재정 주변 장치의 지원 포함)

결론: 무료 Linux 운영 체제용 1C 8.3 클라이언트 부분의 가용성은 기술 개발 및 1C 플랫폼 측면에서 큰 진전입니다. 하지만 가까운 미래에는 오직 사람들만이 이 기능을 완전히 사용할 수 있게 될 것입니다. 대기업, 한편으로는 1C 서버 클러스터를 사용하고 다른 한편으로는 작업장에서 Linux만 사용합니다.

실습에서 알 수 있듯이 현재 그러한 회사는 소수에 불과합니다. 대부분의 회사에서 터미널 모드는 계속해서 더 간단하고 비용 효율적이며 사용하기 더 유연할 것입니다.

1C:Enterprise 서버와 PostgreSQL의 조합은 1C 설치 중에서 두 번째로 인기가 있으며 Linux 플랫폼에서 가장 많이 사용되는 솔루션입니다. 작동하지 않게 하기 어려운 Windows 및 MSSQL 기반 구현과 달리 Linux 기반 구현은 경험이 없는 관리자에게 많은 함정을 안겨줍니다. 모든 일이 올바르게 이루어진 것처럼 보이지만 오류가 오류를 따르는 경우가 종종 있습니다. 오늘 우리는 그중 가장 전형적인 것을 살펴볼 것입니다.

일반 정보

설치 오류 찾기를 시작하고 일반적으로 1C:Enterprise의 서버 버전 구현을 시작하기 전에 작동 방식에 대해 다시 이해하는 것이 좋습니다.

서버 1C 엔터프라이즈. 파트 1 - 일반적인 질문.

소규모 구현에서는 1C 서버와 DBMS 서버가 일반적으로 하나의 물리적 서버에 결합되어 범위가 약간 좁아집니다. 가능한 오류. 우리의 경우 서버가 다른 시스템에 있는 상황을 고려해 보겠습니다. 테스트 랩에서는 다음 구성표를 배포했습니다.

우리는 Ubuntu 12.04 x64를 실행하는 두 대의 서버를 보유하고 있습니다. 그 중 하나에는 1C:Enterprise 서버 버전 8.3이 설치되어 있고, 다른 하나에는 Ethersoft의 PostgreSQL 9.04와 실행 중인 클라이언트가 있습니다. 윈도우 제어. 클라이언트는 1C 서버에서만 작동하며 SUDB 서버에 필요한 요청을 생성합니다. 클라이언트에서 데이터베이스 관리 서버로 요청이 이루어지지 않습니다.

데이터베이스 서버를 찾을 수 없음 중요: 사용자 "postgres"가 인증되지 않았습니다(Ident).

이 오류는 인증이 잘못 구성되어 서버가 여러 PC에 분산되어 있는 경우 발생합니다. 지역 네트워크. 이 문제를 해결하려면 /var/lib/pgsql/data/pg_hba.conf를 열고 다음 줄을 찾으세요.

모두 192.168.31.0/24 ident를 모두 호스팅합니다.

다음 형식으로 가져옵니다.

모두 호스트 192.168.31.0/24 md5

여기서 192.168.31.0/24는 로컬 네트워크 범위입니다. 해당 줄이 없으면 IPv4 로컬 연결 섹션에서 생성해야 합니다.

감지되지 않은 데이터베이스 서버가 호스트 이름 "NAME"을 주소로 변환할 수 없습니다. 이름 확인에 일시적인 오류가 발생했습니다.

언뜻 보기에 오류는 분명합니다. 클라이언트가 DBMS 서버의 이름을 확인할 수 없습니다. 전형적인 실수로컬 DNS 서버가 없는 소규모 네트워크의 경우. 해결책은 클라이언트의 호스트 파일에 항목을 추가하는 것인데, 결과가 나오지 않습니다.

이제 조금 전에 했던 말을 기억해 봅시다. DBMS 서버의 클라이언트는 1C 서버이지만 클라이언트 PC는 아닙니다. 따라서 1C:Enterprise 서버의 항목을 Linux 플랫폼 또는 C:\Windows\System32\drivers의 /etc/hosts 파일에 추가해야 합니다. Windows 플랫폼의 경우 \etc\hosts입니다.

로컬 DNS 서버에 DBMS 서버에 대한 A 레코드를 추가하는 것을 잊은 경우 유사한 오류가 발생합니다.

infobaseserver_addr=NAME descr=11001(0x00002AF9)로 작업을 수행하는 중 오류가 발생했습니다. 이 호스트는 알 수 없습니다.

이전 오류와 마찬가지로 이 오류는 클라이언트가 서버 이름을 잘못 확인했기 때문에 발생합니다. 이번에는 클라이언트 PC입니다. 해결 방법으로 Linux 플랫폼의 /etc/hosts 파일 또는 플랫폼의 C:\Windows\System32\drivers\etc\hosts에 추가하세요. 윈도우 녹음유형:

192.168.31.83SRV-1C-1204

여기에 1C:Enterprise 서버의 주소와 이름을 표시합니다. 로컬 DNS를 사용하는 경우 1C 서버에 대한 A 레코드를 추가해야 합니다.

DBMS 오류: DATABASE를 사용할 수 없습니다.

1C:Enterprise와 호환되지 않는 PostgreSQL 버전을 설치했거나 설치 중에 심각한 실수를 했음을 나타내는 훨씬 더 심각한 오류입니다. 예를 들어 필요한 모든 종속성, 특히 libICU 라이브러리를 설치하지 않았습니다.

Linux 시스템 관리에 대한 경험이 충분하다면 필요한 라이브러리를 설치하고 DBMS 클러스터를 다시 초기화해 볼 수 있습니다. 그렇지 않으면 /var/lib/pgsql 폴더의 내용을 삭제하는 것을 기억하고 PostgreSQL을 다시 설치하는 것이 좋습니다.

또한 이 오류빌드 9.1.x 및 9.2.x Postgre@Etersoft를 사용할 때 발생할 수 있습니다. 자세한 내용은 아래를 참조하세요.

DBMS 오류: 오류: "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so" 라이브러리를 로드할 수 없습니다.

빌드 9.1.x 및 9.2.x Postgre@Etersoft에서 일반적으로 발생하는 다소 구체적인 오류로 인해 이전 오류가 발생할 수도 있습니다. 그 이유는 fasttrun.so 라이브러리의 수정되지 않은 버그에 있습니다. 해결책은 9.0.x Postgre@Etersoft 빌드로 롤백하는 것입니다.

오류 SUBDERROR: 문자 31에 "mvarchar" 유형이 없습니다.

1C:Enterprise 시스템의 도움 없이 데이터베이스가 생성된 경우 발생합니다. 1C로 작업하려면 1C 플랫폼의 도구(1C 엔터프라이즈 서버 관리 콘솔을 통해)만 사용하여 데이터베이스를 생성해야 합니다.

또는 1C 런처를 통해.

데이터베이스 서버를 찾을 수 없음 중요: 사용자 "postgres"가 인증되지 않았습니다(비밀번호).

아주 단순한 실수입니다. postgres DBMS 수퍼유저의 비밀번호가 잘못 지정되었습니다. 두 가지 해결 방법이 있습니다. 비밀번호를 기억하거나 변경하는 것입니다. 두 번째 경우에는 기존의 모든 속성에서 비밀번호를 변경해야 합니다. 정보 기지 1C Enterprise 서버 스냅인 관리를 통해.

데이터베이스 서버를 찾을 수 없음FATAL: 데이터베이스 'NAME'이(가) 존재하지 않습니다.

또 다른 매우 간단한 실수입니다. 그 의미는 지정된 데이터베이스가 존재하지 않는다는 사실로 요약됩니다. 대부분 데이터베이스 이름 지정 오류로 인해 발생합니다. 클러스터의 1C 정보 기반과 DBMS 데이터베이스는 서로 다른 두 엔터티이며 이름이 다를 수 있다는 점을 기억해야 합니다. 또한 기억해야 할 것은 리눅스 시스템대소문자를 구분하며 unf83과 UNF83은 서로 다른 이름입니다.

경고: 없음 자세한 지침수 없습니다! 일련의 작업, 필요한 단계 및 팁만 제공됩니다. 이 가이드는 숙련된 Linux 관리자만을 위한 것입니다!

내 구성 중 일부 예첨부된...

참고: 이 문서는 32비트 CentOS 6.3을 사용한 실험을 기반으로 합니다.(서버의 경우 64비트 OS를 사용해야 하는데, 실험에 사용할 수 있는 하드웨어에는 64비트 CentOS가 설치되어 있지 않았습니다.)그러나 설치 방법(32비트와 64비트)에는 차이가 없습니다. 배포 파일의 접미사에만 차이가 있습니다: i686(또는 i386) 또는 x86_64...

콘텐츠:

  • 2) 네트워크 설정
  • 5) 삼바 서버 설정
  • 문헌(사용 및 추가 권장)




0) 서버 하드웨어 준비



서버 하드웨어 선택에 대한 구체적인 권장 사항은 제공하지 않습니다(필요한 하드웨어 성능) - 아니요 개인적인 경험. 공식 보기"1C: Enterprise 8 작업을 위한 장비 선택에 대한 권장 사항" v8.1c.ru 및 비공식에서 1c.xxi.kiev.ua의 "1C: Enterprise 8 프로그램 작업을 위한 컴퓨터 요구 사항"…
그리고 권장되는 것보다 예비 전력이 있는 하드웨어를 사용하는 것이 좋습니다(기업의 요구에 따라 "성장"하고 1C 플랫폼도 지속적으로 "성장 및 최적화"하기 때문에 출시부터 출시까지 점점 더 많은 리소스를 소비함을 의미). 풀어 주다).

또한 간단히 말해서 가장 수익성이 높은 전략은 다음과 같습니다.

  • 두 대의 서버(1C 서버 및 Postgres DBMS 서버)를 두 대의 서로 다른 시스템에 분산하면 용량이 두 배가 되며 추가 라이센스를 구입할 필요가 없습니다. 이것은 또한 저렴한 솔루션입니다. Linux는 무료이며 하드웨어 비용은 계산되지 않습니다(하드웨어는 항상 라이센스보다 저렴합니다).
  • 참고: "1C 서버 클러스터"에는 여전히 버그가 많습니다. 또한 "클러스터의 일부인 1C 서버"에 대한 각각의 추가 개별 시스템에는 별도의 "서버 라이센스"를 구매해야 합니다! 따라서 모든 측면에서 "1C 서버"에 대해 하나의 기계만 사용하는 것이 가장 수익성이 높습니다. 서버에 대해 하나의 기계만 구입하십시오. 강력한 철, 전체 하중을 당길 수 있습니다 ...
  • DBMS 서버에 하드웨어 RAID10을 설치합니다. (데이터베이스 파일은 백업되고 볼륨은 디스크 공간필요에 따라 증가).
    더욱이: 예산 솔루션에서는 별도의 값비싼 하드웨어 RAID 컨트롤러(가격이 250달러부터 시작)를 구입하는 것보다 많은 최신 마더보드에 내장된 칩셋 RAID 컨트롤러를 사용하는 것이 충분합니다. 내장형 칩셋 RAID 컨트롤러는 이미 다양한 기능을 갖추고 있습니다. 필요한 RAID 모드(0, 1, 5, 10)를 지원하고 데이터 보존과 함께 이들 모드 간의 자동 마이그레이션을 지원합니다.
    연고에는 단 하나의 중요한 문제가 있습니다. Linux에서 하드웨어 RAID 컨트롤러에 대한 지원이 부족하다는 것입니다. 게다가 내장된 마더보드칩셋 SATA-RAID는 완전한 하드웨어가 아닙니다. 데이터 관리는 하드웨어 자체 수준이 아니라 OS 드라이버를 통한 BIOS 마이크로코드 수준에서 발생합니다. 따라서 "SATA-RAID용 드라이버"(Intel Matrix Storage Driver)와 같은 개념이 있습니다. ), RAID가 없으면 RAID가 별도의 디스크로 표시되므로 지원 문제... Linux에서는 전통적으로 소프트웨어 RAID 어레이가 사용되며 이에 대한 지원은 오랫동안 구현되고 디버깅되었습니다!
  • 물론 두 서버 모두 Windows/Linux 64bit OS에 설치가 가능합니다(많은 RAM과 높은 전력을 지원하기 때문입니다). 그리고 "1C 서버 32비트"를 구입하여 설치합니다("1C 서버 64비트"는 비용이 2배 더 비싸고 다른 모든 조건이 동일할 때 성능 향상은 +5%만 제공하기 때문입니다!!! 비공식) 테스트를 거친 장인...)




1) 운영체제(OS) 설치



Linux CentOS 6.x(최신 릴리스)(64비트 권장)를 설치합니다.
CentOS 배포판을 선택하는 이유: 이것은 Linux 서버 배포판입니다. 이것은 무료(무료, "커뮤니티 에디션") 배포판입니다. 이것은 1C가 "지원됨"으로 선언한 RedHat 커널을 기반으로 한 배포판입니다.

CentOS 배포 이미지를 다운로드 중입니다.여기에서 (모든 거울에서).
iso를 다운로드하여 공백(DVDRW)으로 굽고 설치하는 것이 더 편리합니다.
일반적으로 설치에는 조립할 수 있는 두 디스크 중 첫 번째 디스크만 있으면 충분합니다(두 번째 디스크에는 부 소프트웨어가 있음).
그러면 설치 디스크가 더 이상 필요하지 않습니다. 모든 소프트웨어는 계속 업데이트되고 인터넷을 통해 제공되어야 합니다.


논평: CentOS 시스템의 루트 사용자가 로그인되지 않았습니다.(그것은해야한다)!
CentOS 시스템의 모든 작업은 항상 일반 사용자 세션에서 수행됩니다. 그리고 시스템의 설치/구성. 그리고 일부 작업에 대해서만 "수퍼유저" 권한이 매번 요청됩니다(Windows7에서도 비슷한 현상이 나타났습니다).
따라서 구성을 편집하고 패키지 및 기타 "관리자" 작업을 설치하려면 일반 사용자 세션에서 콘솔을 연 후 즉시 "su" 명령을 실행하십시오. 그러면 현재 콘솔이 "수퍼유저" 모드(CentOS 기능)로 전환됩니다.

Bash# su 비밀번호:<вводим пароль root>


그런 다음 이 bash# 콘솔은 다양한 권한 있는 작업에 사용됩니다. 예를 들어 "mc"를 실행하고 /etc/...에서 구성을 편집할 수 있습니다.


2) 네트워크 설정



곡조 네트워크 어댑터, 호스트 이름, 게이트웨이 및 DNS...
인터넷에 연결하고 모든 기본 패키지를 최신 버전으로 업데이트하세요...
우리는 인터넷에 연결되어 있는 경우에만 모든 추가 조치를 취할 것이며 그것이 영구적이라고 믿습니다!

네트워크 설정은 표준으로 수행됩니다... 하지만피해야 할 일반적인 함정:

2a)


첫째, 서버 이름은 문제 없이 IP 주소로 확인되어야 합니다.

/etc/sysconfig/network 파일에서 호스트 이름 매개변수(서버의 "컴퓨터 이름") 값을 확인하고 필요한 경우 변경하여 새 매개변수가 적용되도록 하려면 시스템을 다시 시작해야 합니다.

Bash# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=delldev GATEWAY=192.168.10.2


(마지막 줄은 기본 게이트웨이이므로 지정할 필요가 없습니다. 지정하지 않으면 ifcfg 구성이나 DHCP를 통해 가져옵니다...)

/etc/hosts 파일에는 localhost.localdomian 형식이나 IPv6과 관련된 항목이 포함되어서는 안 됩니다. DNS 서버가 없는 경우 서버 IP 주소 - FQDN 이름 - 짧은 이름 사이의 명확한 대응이 포함되어야 합니다. 예 올바른 파일호스트:

Bash# cat /etc/hosts 127.0.0.1 localhost delldev



확인: 서버가 자체적으로 ping을 실행합니까? 콘솔에 다음을 입력하세요.

배쉬# ping delldev



2b)


둘째, 1C 엔터프라이즈 구성 요소 간의 상호 작용을 금지하는 방화벽 규칙이 있어서는 안됩니다.
대부분의 경우 엔터프라이즈 1C 서버는 로컬 네트워크 내에 있으므로 방화벽을 쉽게 비활성화할 수 있습니다(적어도 시운전 기간 동안).

Bash# chkconfig iptables off bash# 서비스 iptables 중지



2c)


셋째, SELinux 정책도 비활성화해야 합니다!

원인:
1) 이전에는 SELinux가 Segmentation Fault의 원인이었습니다.
2) SELinux가 활성화된 상태에서는 Samba 공유가 작동하지 않습니다(원격 사용자가 공유에 로그인했지만 파일을 볼 수 없음... 또는 파일이 보이지만 읽을 수 없음... 등의 결함).
3) 또한 로컬 네트워크 내에 위치한 고부하 서버에서 SELinux를 사용하는 것의 이점은 매우 모호해 보입니다.

비활성화하는 방법:

/etc/selinux/config 구성을 편집하고 SELINUX=enforcing 줄을 SELINUX=disabled로 변경한 다음 머신을 재부팅합니다...



2d)


인터넷 공급자 "Ukrtelecom/Ukraine"에도 다음과 같은 문제가 있습니다. 버그가 있는 DNS 서버 - 따라서 보조 서버를 사용해야 합니다(가급적 Google에서 제공)... 그리고 아마도 내 DSL 라우터가 Linux OS와 제대로 호환되지 않는 것으로 판명되었을 수도 있습니다...

징후: 인터넷으로 작업할 때 각 DNS 이름을 확인하는 데 매우 오랜 시간이 걸리고(수십 초의 시간 초과) 제대로 작동하지 않습니다.
해결책: 그래서 나는 DNS 서버 DHCP를 통해 자동으로 수신하지 않았지만 어댑터 설정(/etc/sysconfig/network-scripts/ifcfg-eth0 구성)에 다음 주소를 정적으로 등록했습니다: 213.179.249.151, 213.179.249.152, 8.8.8.8, 8.8. 4.4(처음 두 개는 새로운 Ukrtelecom이고 다음 두 개는 Google의 것입니다).


3) 패키지 관리자 설정(yum)


참고: yum 사용에 대한 자세한 매뉴얼은 기사를 참조하세요."RHEL6의 패키지 관리. 냠...

3a)


소프트웨어 소스(저장소) 설정:

표준 저장소를 활성화합니다(저장소 구성에서 활성화=1이라고 쓰거나 그래픽 인터페이스를 통해 상자를 선택합니다...):
CentOS-6 - 기본
CentOS-6 - 기여
CentOS-6 - 추가 기능
CentOS-6 - 플러스
CentOS-6 - 업데이트

그리고 (표준 저장소에는 주로 서버 소프트웨어가 포함되어 있고 고도로 디버깅된 버전이기는 하지만 오래된 버전이기 때문에 표준 저장소가 없으면 매우 안타깝습니다.)

참고: 대부분의 경우 새 저장소를 더 쉽게 연결할 수 있도록 저장소 소유자는 자동 구성을 위한 RPM 패키지를 준비했습니다. 이러한 패키지는 다운로드하고 설치하기만 하면 됩니다. 게다가 패키지를 선택하세요 올바른 버전: 해당 버전의 저장소용이며 귀하의 해당 Linux 릴리스용입니다. 이 의사 패키지를 설치하면 필요한 구성이 자동으로 생성되고 yum 등이 구성됩니다.

권장사항:
사용 중인 EL 릴리스를 찾으려면 "cat /etc/redhat-release"를 사용하십시오.("CentOS 릴리스 6.3" - 즉 "el6"이라고 표시됨)
프로세서 아키텍처를 찾으려면 "uname -a"를 사용하십시오.(표시: "i686 i386")
rpmforge-release 패키지를 설치하려면 "rpm -ivh package-filename"을 사용하십시오.(URL에서도 작동)

RPMforge
설치 지침: repoforge.org 및
packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm "

에펠
설치 지침: fedoraproject.org
작업 설치 예: su -c "rpm -Uvh download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm "

ATrpms
설치 지침: atrpms.net
작업 설치 예: su -c "rpm -Uvh dl.atrpms.net/all/atrpms-repo-6-5.el6.i686.rpm "

3b)


개념: 가장 중요한 것은 시스템의 기본 핵심 기능을 방해하지 않는 것입니다..
표준 CentOS 리포지토리(특히 "CentOS-6 - Base")는 리포지토리에 언제든지 서로 호환되는 패키지 및 라이브러리의 단면이 있는지 확인하는 특별한 교육을 받은 사람들이 컴파일합니다.(CentOS는 자동 업데이트 모드로 작동하는 가장 비싼 프로덕션 서버에 설치되는 서버 시스템입니다. 저장소의 결함으로 인해 많은 서버가 중단됩니다. 즉, 관리자는 많은 어려움을 겪을 것이며 CentOS의 신뢰성은 떨어질 것입니다. 훼손... 이것은 허용되지 않습니다.)
그러나 타사 배포판을 사용하는 경우 새 (그리고 불안정한) 버전의 라이브러리가 항상 더 일찍 나타납니다. 자동 업데이트 중에 시스템에 자동으로 설치되어 커널 서비스에 대한 비호환성을 초래할 수 있습니다. 심하게!

가장 잘 작동하는 소프트웨어가 서버에 설치되고 추가 리포지토리에서 기본 소프트웨어에서 누락된 소프트웨어만 설치되도록 하려면(패키지는 "종속성"에 따라 분리됨) 우선순위 시스템:

우선순위를 관리하려면 다음이 필요합니다.yum에 대한 추가 플러그인 설치(세 가지를 모두 설치하는 데 유용함):

  • yum-protect-packages(지정된 패키지가 제거되지 않도록 보호할 수 있습니다. 기본적으로 yum 자체와 해당 종속성 체인은 보호됩니다)
  • yum-plugin-protectbase(보호되지 않은 저장소의 업데이트로부터 지정된 저장소의 패키지를 보호할 수 있음) - 구성이 더 쉽습니다.
  • yum-plugin-priorities(다른 저장소에 우선순위를 할당할 수 있습니다. 우선순위 값이 낮은 저장소의 패키지는 우선순위 값이 높은 저장소에서 업데이트할 수 없습니다. 이는 다른 유형의 보호이며 더욱 발전되고 유연합니다.) - 더 좋습니다!


(참고: yum에는 더 많은 것들이 있습니다 흥미로운 플러그인, 하지만 이것이 가장 필요한 것입니다...)

냠 저장소 설정저장 위치: /etc/yum.repos.d/
편집할 수 있는 구성은 *.repo라고 합니다.
나머지 파일은 서비스 파일이므로 건드리지 않습니다.

텍스트 구성에 추가해야 합니다(적어도 활성화=1인 모든 저장소에 대해): 매개변수 보호=... 및 우선순위=...가 있는 행(참고: 우선순위 값이 낮을수록 저장소가 더 중요해집니다)



3c)


또한 패키지 관리자용 그래픽 셸인 Yum Extender(바이너리는 yumex라고 함)를 설치하는 것이 좋습니다. 이는 표준 GUI보다 훨씬 더 발전된 기능입니다!


4) 1C 시스템과 관련이없는 추가 소프트웨어 설치



이제 다음을 설치할 수 있습니다(물론 yum 패키지 관리자 관리 콘솔을 통해):
NTFS 지원
wine(간단한 Windows 애플리케이션을 실행하기 위한 에뮬레이터)
기타 유용한 로컬 애플리케이션...


5) 삼바 서버 설정



yum을 통해 Samba 서버(서비스 "smb" 및 "nmb")를 설치하고 구성해야 합니다. 이는 소위 Linux에서 Microsoft NetBIOS 프로토콜에 대한 지원입니다. "네트워크 환경"…

또한 로컬 네트워크의 다른 클라이언트를 위해 이 서버에 파일 공유를 제공하지 않더라도 Samba를 높여 이 서버가 모든 사람의 "네트워크 환경"에 나타나도록 하는 것이 좋습니다. Windows 클라이언트표준 API로 검색된 네트워크의 다른 서버는 "네트워크 시스템 이름"을 확인하여 ¨\\MyLinuxServer¨와 같은 이름으로 참조될 수 있습니다. 편의를 위해 1C 서버가 작업 그룹에 표시되도록 Samba를 구성하십시오...

참고 사항: 1C:Enterprise를 실행하려면 Samba 서버가 필요합니까?



Samba를 구성하려면 다음을 권장합니다.
다음과 같이 공유 폴더를 만들고 구성합니다.

Mkdir /home/samba mkdir /home/samba/allothers... chown -R samba /home/samba chgrp -R samba /home/samba chmod -R a+rw /home/samba


비로그인 사용자/그룹 생성: samba/samba
이 사용자의 홈 폴더를 할당합니다: /home/samba

삼바 서비스 설정:
구성은 /etc/samba/에 있습니다.
smb.conf를 참조하세요
smb-conf.ru 참조
간단한 설정은 기사를 참조하세요"CentOS에서 SAMBA 서버를 쉽게 설치 및 구성"...

중요한: "smb"(기본) 서비스 외에도 "nmb" 서비스(로컬 네트워크에 NetBIOS 컴퓨터 이름 게시를 담당함)도 "활성화" 및 "시작"해야 합니다. 서버는 "네트워크"에 표시됩니다. 이웃"):

Chkconfig --level 2345 smb on chkconfig --level 2345 nmb on service smb start 서비스 nmb start


조언: 서비스 작동 모드는 그래픽 스냅인 “GNOME / 시스템 / 관리 / 서비스”를 통해 가장 잘 구성됩니다.


6) 1C: 엔터프라이즈 배포 키트를 획득하고 준비합니다. 모든 것을 어디서 얻을 수 있습니까?



Pirate 1C 배포판(및 크랙)은 교환기에서 다운로드할 수 있습니다(링크는 제공하지 않습니다. 다음에서 찾을 수 있습니다). forum.ru-board.com "Vareznik" 섹션에서)…

그래서 우리는 배포판을 받거나 다운로드했습니다."1C: 2012년 10월 5일자 플랫폼 8.2 릴리스 8.2.16.368"-> 여기에서 "1C Server: RPM 기반 Linux 시스템용 Enterprise(32비트)" 파일을 가져옵니다."8_2_16_368_rpm.tar.gz" (169.07MB) -> 아카이브의 압축을 풀면 배포본의 RPM 파일 8개를 얻습니다...

"12년 1월 17일부터 1C 릴리스 9.0.3-3.1C의 PostgreSQL"의 기성 어셈블리는 우리에게 적합하지 않으며 종속성에 따라 설치되지 않습니다(패키지는 CentOS 5.x용으로 컴파일된 것이지 6.x.).
우리를 1C로 패치된 PostgreSQL 소스 코드가 필요합니다. 자기 조립! 배포판에서"1C 릴리스의 PostgreSQL 2012년 1월 17일의 9.0.3-3.1C"-> "PG90331_Patch903.rar" 파일만 가져오기 -> 아카이브에서 파일만 가져오기"postgresql-9.0.3-3.1C.src.rpm"(이것은 PostgreSQL 버전 9.0.3의 소스 코드가 포함된 RPM 패키지이며, 1C: Enterprise 8.1 및 1C: Enterprise 8.2 서버와의 호환성을 보장하기 위해 필요한 모든 패치가 이미 포함되어 있습니다)
참고: 또한 1C: Enterprise 8에서 지원하는 PostgreSQL DBMS의 자체 조립을 위한 소스 코드가 가장 쉽습니다.공식 사이트에서 직접 다운로드...

참고: 어떤 플랫폼을 선택해야 합니까?

  1. 1C 서버는 x64와 x86으로 모두 제공됩니다.
  2. 1C 클라이언트 프로그램은 현재 x86만 있습니다(반복합니다: 1C 서버만 x64입니다).
  3. x64 OS에 x86 프로그램을 설치할 수 있는 것으로 알려져 있습니다(1C에만 적용되는 것이 아님)
  4. 1C 클라이언트 프로그램(씩 클라이언트 및 씬 클라이언트)은 Windows에서만 작동합니다!

    추가 정보...




7) Linux CentOS(6.3)에서 “1C의 PostgreSQL DBMS(2012년 1월 17일 릴리스 9.0.3-3.1C)” 어셈블리 및 설치



우선, 시스템 충돌을 방지하려면 PostgreSQL SERVER의 다른/이전 버전이 설치되어 있는 경우 이를 모두 제거해야 합니다(확인).

나쁜 조언: 소프트웨어 비호환성으로 인한 혼란을 피하기 위해 클라이언트 "postgresql-8.4.13"(처음에는 표준 CentOS 6.3 저장소에서 설치됨)도 제거했습니다. 일부 패키지(예: "postgresql-libs-8.4. 13인치 등) 이제 떠나야 했습니다. 시스템의 다른 많은 패키지는 이에 의존합니다. 그러나 나중에 PostgreSQL 9.0.3을 설치한 후 제거할 수 있습니다(미리 살펴보니 성공했습니다)...
그러나 나중에 PostgreSQL 9.0.3을 제거해야 하는 경우를 대비하여 이러한 표준 패키지(특히 "postgresql-libs-8.4.13")를 시스템에 남겨 두는 것이 좋습니다. 이제 모든 시스템 패키지가 "postgresql-libs-9.0.3-3.1C" 패키지에만 의존하는 상황이 발생했고 패키지 관리자는 시스템의 절반을 동시에 파괴하지 않고 후자를 제거하는 것을 허용하지 않습니다( 충돌).


불행하게도 CentOS 6.3의 기본 저장소에는 다음과 같은 내용이 있습니다. 현재 시스템에는 기성품 "1C의 PostgreSQL" 어셈블리를 사용하는 데 필요한 라이브러리(종속성)가 모두 없습니다. 또한 1C: Enterprise Server 8.2의 작동을 염두에 두어야 합니다. PostgreSQL 버전 8.3.8 이상이 필요합니다.

다양한 배포판을 시도했지만 ...



따라서 "1C 릴리스 9.0.3-3.1C의 PostgreSQL" 버전이 가장 적합하지만 배포 키트 "PG90331_setuppln903.rar"에서 조립된 RPM 패키지는 우리에게 적합하지 않습니다. 종속성에 따라 설치되지 않습니다(패키지 6.x가 아닌 CentOS 5.x용으로 컴파일되었습니다.)…

잘못된 접근 방식: 기존 라이브러리를 수동으로 업그레이드하는 것은 힘들고 위험합니다(기본적이고 안정적인 CentOS 커널의 많은 소프트웨어가 이에 의존합니다)! 기호 링크(기존 버전을 참조하는 필수 라이브러리의 이름 포함) 형태로 핵을 삽입하는 것도 가능하지만 이는 프로덕션 서버에서는 매우 좋지 않습니다...


따라서 CentOS 커널의 무결성을 침해하지 않기 위해,소스 코드에서 PostgreSQL 자체를 다시 빌드해야 합니다., 1C 패치로 패치합니다(따라서 기존 라이브러리를 기반으로 합니다). 배포 키트 "1C 릴리스 9.0.3-3.1C의 PostgreSQL"에서 패치된 PostgreSQL 소스를 가져옵니다. -> "PG90331_Patch903.rar" 파일만 필요합니다. -> 아카이브에서는 "postgresql-9.0.0.0" 파일만 가져옵니다. 3-3.1C.src.rpm” "...또는 공식 웹사이트에서 직접 이 파일을 다운로드하세요...

7a)


참고: 저는 소스 코드를 사용한 조립 경험이 없으므로 다음은 alsigned.ru의 "Maniac Administrator" 블로그에서 약간 수정된 레시피입니다(작성자 존중).



PostgreSQL 이전에 설치해야 합니다(또는 이미 설치되어 있는지 확인). - PostgreSQL 버전 1C부터 동작하는데 필요합니다. RPM 패키지에서 수동으로 설치할 수 있습니다(필수는 아님)... 또는 표준 저장소에서 yum을 사용하여(더 좋음):

Yum은 icu libicu libicu-devel을 설치합니다.



또한 컴파일 및 어셈블리에 필요한 패키지를 설치합니다.

Yum 설치 rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make



7b)


1c 웹사이트에서 PostgreSQL 9.0.3 소스를 다운로드하세요:

Wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm


소스 패키지를 설치합니다(시스템에 다른 폴더가 생성되고 소스 파일이 폴더 전체에 분산됩니다).

Rpm -ihv postgresql-9.0.3-3.1C.src.rpm



편집을 위해 /usr/lib/rpm/macros 파일을 열고 해당 파일의 _default_patch_fuzz 패치 수준을 2로 변경합니다.

%_default_patch_fuzz 2


참고: 이전에는 새 스크립트로 일괄 처리를 지원하지 않는 소프트웨어를 구축할 때 Fedora 12 이상에서만 이러한 작업을 수행해야 했으며, 버전 6부터 CentOS에 새 스크립트가 제공되었습니다.

libicu 라이브러리에 대한 심볼릭 링크를 만듭니다:

Ln -s /usr/lib/libicui18n.so /usr/local/lib/libicui18n.so.46 ln -s /usr/lib/libicudata.so /usr/local/lib/libicudata.so.46 ln -s / usr/lib/libicuuc.so /usr/local/lib/libicuuc.so.46



PostgreSQL 빌드로 넘어가겠습니다.

Rpmbuild -bb --define "runselftest 0" ~/rpmbuild/SPECS/postgresql-9.0-1C.spec


참고: "runselftest 0" 매개변수를 설정하면 빌드 중 테스트 데이터베이스 초기화 및 PosgreSQL의 기능 확인이 거부됩니다. 테스트가 성공하려면 제한된 사용자 하에서 수행해야 합니다. 그렇지 않으면 빌드 프로세스가 중단됩니다. 중지됩니다.

조립과정이 좀 시간이 걸리네요...

마지막으로 컴파일된 RPM 패키지 목록을 살펴보겠습니다. (저는 32비트 Linux OS를 사용하고 있으므로 PostgreSQL 패키지도 32비트 버전으로 컴파일되었습니다.)

Bash# ls -1 ~/rpmbuild/RPMS/i686 postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686 .rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0. 3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpm



7c)


1C에서 패치된 PostgreSQL DBMS 서버 설치:

모든 패키지를 설치할 필요는 전혀 없습니다. PostgreSQL의 정상적인 작동을 위해서는 postgresql-libs, postgresql, postgresql-server, postgresql-contrib 네 개면 충분합니다. /root/rpmbuild/RPMS/i686(64비트 OS의 경우 /root/rpmbuild/RPMS/x86_64) 디렉터리로 이동하여 패키지를 설치합니다.

패키지 설치 순서는 다음과 같습니다.

Postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C .i686.rpm


선택 사항이지만 (개발자에게) 다음 패키지를 설치하는 데 유용합니다.

Postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3- 3.1C.i686.rpm



그러나 설치 순서에 신경 쓰지 않으려면 모든 패키지를 한꺼번에 설치하는 것이 좋습니다(yum에서는 종속성 자체를 정렬합니다).
rpm -ihv postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3 -3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql -test-9.0.3-3.1C.i686.rpm

갈퀴: "postgresql-contrib-9.0.3-3.1C.i686.rpm" 패키지를 설치할 때 오류가 발생합니까?

오류: /usr/pgsql/lib/libicudata.so.46;4e9327cc 파일에서 아카이브 압축 풀기에 실패했습니다. cpio: 다이제스트 불일치

오류: postgresql-contrib-9.0.3-3.1C.i686: 설치 실패


해결책: 다이제스트 및 md5를 확인하지 않고 rpm을 실행합니다.

Rpm --nodigest --nomd5 -ihv postgresql-contrib-9.0.3-3.1C.i686.rpm





그 후에는 모든 DBMS 파일을 소유하고 서버가 시작될 세션에서 "postgres" 사용자가 운영 체제에 나타납니다(동일한 이름을 가진 DBMS 자체의 수퍼유저와 혼동하지 마십시오).
DBMS를 시작하고 중지하기 위해 /etc/init.d/postgresql 스크립트가 생성됩니다.
PostgreSQL 9.0.3 클라이언트 및 서버 바이너리는 /usr/pgsql/bin/…에 있습니다.


7d)


PostgreSQL 데이터베이스 클러스터를 초기화합니다(이 PostgreSQL DBMS 설치의 모든 데이터베이스 데이터가 저장되는 디렉터리 이름(일반적으로 /var/lib/pgsql/data)입니다).

참고: 이전 버전의 Postgres에는 단순히 DBMS 서버를 시작할 때 트릭이 있었는데, 처음 시작할 때 데이터베이스 파일이 있는 디렉터리를 감지하지 못했습니다. - initdb 자체를 시작했습니다... 하지만 지금은 작동하지 않습니다.
initdb를 명시적으로 올바른 매개변수를 사용하여 실행해야 합니다. 이 경우 DBMS 서버가 시작된 세션의 시스템 사용자를 명시적으로 지정해야 합니다("su postgres" 명령 사용). 또한 서버가 실행되는 로캘(locale=ru_RU.UTF-8)을 명시적으로 나타냅니다.

Bash# su postgres -c "/usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8"



이 명령을 실행하면 콘솔 출력에서 ​​지정된 매개변수를 확인합니다(텍스트가 콘솔에 나타납니다).

이 데이터베이스 시스템과 함께 제공되는 파일은 "postgres" 사용자가 소유합니다. 이 사용자는 서버 프로세스의 소유자이기도 해야 합니다.
데이터베이스 클러스터는 ru_RU.UTF-8 로케일로 초기화됩니다. 기본 기본 인코딩은 UTF8로 설정됩니다. 기본 전체 텍스트 검색 구성은 "russian"으로 설정됩니다.



결과적으로 /var/lib/pgsql/data 디렉터리에 데이터베이스가 생성됩니다(참고: PostgreSQL 서버 구성도 여기에 있습니다).

갈퀴: 데이터베이스 클러스터 초기화 중에 오류가 발생하면 어떻게 되나요?

치명적: 공유 메모리 세그먼트를 생성할 수 없습니다…
힌트: 이 오류는 일반적으로 공유 메모리 세그먼트에 대한 PostgreSQL의 요청이 커널의 SHMMAX 매개변수를 초과했음을 의미합니다. 요청 크기를 줄이거나 더 큰 SHMMAX로 커널을 재구성할 수 있습니다. 요청 크기(현재 35233792바이트)를 줄이려면 PostgreSQL의 shared_buffers 매개변수(현재 3584) 및/또는 해당 max_connections 매개변수(현재 104)를 줄이세요.


해결책: kernel.shmmax 매개변수의 값을 늘려야 합니다. 이를 수행하려면 /etc/sysctl.conf 파일에 다음 행을 추가하십시오:

커널.shmmax = 40000000


그런 다음 다음 명령을 사용하여 sysctl 매개변수를 업데이트합니다.

배쉬# sysctl -p


참고: 일반적으로 이 문제는 32비트 버전에서 일반적입니다... 하지만 CentOS 6.3 32비트에서는 이 문제가 발생하지 않았습니다. 여기에는 kernel.shmmax = 4294967295 매개변수가 이미 설정되어 있습니다.


7e)


PostgreSQL 서비스 설정:

시작에 추가하고 PostgreSQL 서비스를 시작합니다.

Bash# chkconfig postgresql on bash# 서비스 postgresql 시작



PostgreSQL 9.0.3 클라이언트 및 서버 바이너리는 /usr/pgsql/bin/…에 있습니다. 경로를 지정하지 않고도 시작할 수 있도록 필요한 바이너리에 대한 심볼릭 링크를 만들어 보겠습니다. 이는 특히 PostgreSQL 콘솔 클라이언트에 필요합니다.

Ln -s /usr/pgsql/bin/psql /usr/local/bin/psql 등



PostgreSQL을 처음 시작할 때 데이터베이스 엔터티에 대한 액세스 권한을 제어하기 위해 DBMS에 비밀번호 "postgres"를 사용하는 수퍼유저 계정 "postgres"가 생성됩니다(Linux OS 계정과 혼동하지 마십시오). 가장 먼저 해야 할 일은 표준 비밀번호를 변경하는 것입니다. 다음 명령을 사용하여 DBMS "postgres"의 수퍼유저 비밀번호를 설정하십시오.

Bash# psql -U postgres -c "ALTER USER postgres PASSWORD "newpassword""


참고: 이제 클라이언트를 DBMS에 연결할 때 이 비밀번호가 사용됩니다: login="postgres" 비밀번호="newpassword".

7f)


"1C Server: Enterprise"(구성 편집)와 작동하도록 PostgreSQL 서버를 구성합니다.
러시아어로 구성 매개변수에 대한 설명을 참조하세요...

/var/lib/pgsql/data/postgresql.conf 파일 - 서버 설정. 매개변수를 지정해야 합니다(행의 주석 처리를 해제하거나 이러한 매개변수가 없으면 수동으로 입력하십시오).

Default_with_oid = 켜짐



기본적으로 PostgreSQL 9.0.3의 Autovacuum은 비활성화되어 있습니다... 데이터베이스에서 "자동 가비지 수집(Automatic Vacuuming)"을 활성화하려는 경우(부하가 적은 서버에 유용하므로 관리자가 수행할 필요가 없습니다) "데이터베이스 패킹" 절차를 주기적 및 수동으로 수행하되 설치하고 잊어버리기만 하면 됨) - 그런 다음 다음 매개변수를 설정합니다.

Track_counts = 켜짐 autovacuum = 켜짐


참고: 이전 버전의 DBMS에는 "stats_row_level" 매개변수가 있었지만 PostgreSQL 9.0.3에서는 이 매개변수가 더 이상 사용되지 않으며 새로운 "track_counts" 매개변수에 포함되었습니다.

/var/lib/pgsql/data/pg_hba.conf 파일은 사용자 액세스 및 식별 정책(즉, PostgreSQL 서버에 연결하기 위해 허용되는 매개변수)을 구성합니다. 이 파일 끝에 다음과 같은 주석 처리가 해제되어 있는지 확인하십시오. 행(“모든 호스트에서 서버에 연결을 허용하고 로그인 비밀번호는 md5로 해시됩니다”를 의미):

모두 모두 호스팅 0.0.0.0/0 md5


참고: 정책 줄에서 "md5"를 "trust"로 바꾸면 연결할 때 비밀번호가 확인되지 않습니다! (복원/변경에 유용함 잊어버린 비밀번호수퍼유저) 또한 localhost의 클라이언트 연결에 대한 기본 정책은 비밀번호를 확인하지 않는다는 점에 유의하세요.

참고: 이러한 설정은 나중에 구성할 수 있습니다. 그리고 1C 클라이언트를 포함한 모든 것이 작동하는지 확인할 때 보안상의 이유로 로컬 호스트 localhost (또는 더 정확하게는 "1C 서버 클러스터"의 호스트)로만 연결을 제한하는 것이 합리적입니다. 별개입니다)...

마지막으로 PostgreSQL 서버를 다시 시작합니다.

/etc/init.d/postgresql 재시작




8) Linux CentOS(6.3)에 “1C 서버: RPM 기반 Linux 시스템용 Enterprise 32bit(8.2.16.368)” 설치



1C: Linux용 Enterprise 8 서버 배포판은 여러 rpm 패키지 형태로 제공됩니다.

  • 1C_Enterprise-common - 1C의 공통 구성 요소: Enterprise 8;
  • 1C_Enterprise-server - 1C 서버의 구성 요소: Enterprise 8;
  • 1C_Enterprise-ws - 1C 게시용 어댑터: Apache HTTP Server 2.0 또는 Apache HTTP Server 2.2 기반 웹 서버의 Enterprise 8 웹 서비스.
  • 1C-Enterprise-crs - 1C: Enterprise 8 구성 스토리지 서버의 구성 요소입니다.
  • 이름에 접미사 "-nls"가 포함된 패키지는 해당 패키지에 대한 추가 국가 리소스입니다.


1C_Enterprise-server 및 1C_Enterprise-ws 패키지는 서로 의존하지 않습니다. 따라서 한 컴퓨터에 함께 또는 별도로 설치할 수 있습니다. 즉, "1C 서버"를 완화하기 위해 DBMS 서버를 분리할 수 있는 것처럼 "1C 서버"와 "웹 서버"를 서로 다른 시스템으로 분리할 수 있습니다. ) ...

2014.01.15의 참고 사항: "1C_Enterprise-ws" 패키지의 코드가 여전히 "1C_Enterprise-server" 패키지에 의존하는 것으로 나타났지만 이는 중요하지 않습니다...



설치는 반드시 루트 사용자로 해야 합니다...

설치 시 다음과 같은 패키지 간의 종속성을 고려해야 합니다(패키지를 성공적으로 설치하려면 먼저 해당 패키지가 종속된 모든 패키지를 설치해야 함). 따라서 설치 순서는 다음과 같습니다.

Rpm -ihv 1C_Enterprise82-common-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-server-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-ws-nls-8.2.16-368.i386 .rpm rpm -ihv 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm



그런 다음 서버는 데몬 모드에서 시작되어야 합니다.

/etc/rc.d/init.d/srv1cv82 중지 /opt/1C/v8.2/i386/ragent -daemon /etc/rc.d/init.d/srv1cv82 다시 시작



위의 모든 작업은 루트 사용자로 수행되어야 합니다.

1C: Enterprise 8 서버 구성 요소를 설치하는 동안 usr1cv82라는 운영 체제 사용자가 생성됩니다. 계정 1C: Enterprise 8 서버 프로세스를 실행합니다.

8a)


필요한 모든 패키지를 설치한 후 1C v8.2의 그래픽 하위 시스템을 진단하고 초기화하기 위한 스크립트 유틸리티를 실행하고 해당 권장 사항을 따라야 합니다. (이 유틸리티는 1C v8.2의 그래픽 하위 시스템에 필요한 구성 요소 및 설정이 있는지 시스템을 확인하고 1C에 여전히 필요한 것이 있으면 권장 사항을 제공합니다.)

/opt/1C/v8.2/i386/utils/config_server



"config_server" 유틸리티에 대한 추가 정보: nefrit.arvixe.ru 및 blog.unixstyle.ru ...

"config_server" 유틸리티를 사용하여 시스템을 구성하는 절차는 대략 다음과 같습니다.(이러한 단계 중 일부가 없을 수도 있습니다. 건너뛰세요):

설치는 반드시 루트 사용자로 해야 합니다...

1) "config_server" 유틸리티를 처음 실행하면 "글꼴 디렉토리를 찾을 수 없습니다. 지정하십시오!"라는 오류가 나타납니다.
해결책: 레시피에 따라 누락된 TTF 글꼴 설치 linewb.ru FAQ 및 .
참고: ~/rpmbuild/ 폴더 시스템이 이미 있어야 합니다(이미 PostgreSQL 배포판을 빌드할 때 생성되었습니다).
결과적으로 글꼴을 설치하려면 다음 단계로 충분합니다.

Yum 설치 rpm-build cabextract wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec rpmbuild -bb msttcorefonts-2.5-1.spec rpm -ivh ~/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1 .noarch.rpm



2) "config_server" 유틸리티를 다시 실행합니다. "트루타입 변환 유틸리티를 찾을 수 없습니다!"라는 오류가 나타납니다. ttf2afm 또는 ttf2pt1을 설치하세요!”
해결책: ttf2pt1 유틸리티를 설치합니다(EPEL 저장소에서 사용 가능).

냠 설치 ttf2pt1



3) "config_server" 유틸리티를 세 번째로 실행합니다. 시스템은 더 오랜 시간 동안 인식하고 모든 것이 정상화될 것입니다. 더 많은 오류콘솔에는 안 뜨는데...

마지막으로 "1C 서버"(또는 전체 머신)를 재부팅해야 합니다.

/etc/init.d/srv1cv82 다시 시작



위의 모든 작업은 루트 사용자로 수행되어야 합니다.

8b)


이상, Linux OS에 "1C Server" 설치가 완료되었습니다!
남은 것은 MMC 콘솔 "1C 서버 관리: Enterprise 8.2"를 통해 이 "1C 서버"에 연결하고 구성의 "정보 기반"을 생성하는 것입니다. 이에 대한 자세한 내용은 아래에서...

참고: MMC 콘솔은 1C 기술 플랫폼: Enterprise 8.2의 일부로 다른 호스트에 설치되며 Windows에서만 설치됩니다. (버전 "1C: Enterprise 8.3"에서는 관리 소프트웨어가 이미 Linux용으로 구현되었다고 약속하지만...)

8c)


Apache 웹 서버를 통해 1C 웹 클라이언트에 대한 지원을 구성합니다.

준비: 1C 서버와 동일한 Linux 시스템에 설치된 로컬 Apache 웹 서버를 사용합니다. 아직 Apache 웹 서버가 설치되어 있지 않은 경우 문서의 "작업: Fedora Core/Cent OS Linux에 Apache/httpd 설치" 섹션의 단계를 따르십시오."Linux에서 Apache 또는 httpd 서비스를 설치하고 시작하는 방법":

Yum은 /etc/init.d/httpd start에 httpd chkconfig httpd를 설치합니다.



다음으로 “2. 웹 클라이언트 게시' 문서“우리는 Apache에 1C 웹 클라이언트를 설치합니다”...

"Server 1C"에 "test1c"라는 정보 기반이 있다고 가정합니다.(사실 나중에 클러스터를 초기화하고 postgreSQL에서 데이터베이스를 생성한 후에 생성될 예정입니다... 하지만 실제로 정보 보안에 액세스하지 않고 단순히 Apache 구성을 수정하고 생성할 것이기 때문에 지금은 추측적으로 게시할 수 있습니다. 웹 서버의 스텁, 일부 폴더/파일).게시 절차는 매우 간단하고 자동화되어 있습니다(각 단계는 위 문서에 자세히 설명되어 있으므로 여기서는 반복하지 않겠습니다). 다음 명령을 실행해야 합니다.

Cd /opt/1c/v8.2/i386 ./webinst -apache22 -wsdir test1c -dir "/var/www/html/test1c/" -connStr "Srvr="delldev";Ref="test1c"" -confPath / etc/httpd/conf/httpd.conf chown apache:apache /var/www/html/test1c/default.vrd chkconfig httpd on service httpd start


이것이 바로 "test1c" 정보 베이스가 공개되었습니다! "1C 서버 클러스터"와 정보 기반을 완전히 구성한 경우 http:// delldev/test1c 주소를 입력하여 브라우저를 통해 연결할 수 있습니다.(여기서 delldev는 현재 설정 중인 "1C 서버" 및 "Apache 웹 서버"와 함께 CentOS를 실행하는 호스트의 이름입니다.)...

기억하세요: 웹 클라이언트가 작동하려면 다음이 필요합니다. "1C 서버" 또는 "Apache 웹 서버"가 실행 중인 호스트(이 경우 하나만 있음)에 " 네트워크 클라이언트 라이센스”(보호 키는 로컬로 연결되거나 “라이센스 관리자”에 대한 액세스를 구성할 수 있음) 정보 베이스의 "속성"("서버 관리" 스냅인을 통해 구성)에서 "응용 프로그램 서버별로 라이센스 발급" 항목을 활성화합니다.

8d)


추가로 알아야 할 사항"기술 저널"을 활성화하는 방법 (일명 "로그", 일명 "로그")...

기본적으로 로그는 빠르게 증가하고 많은 디스크 공간을 차지하므로 비활성화됩니다(오류가 발생할 경우 "로그"와 함께 "덤프"도 생성됨). 특정 문제를 추적해야 하는 경우에만 로그를 활성화하세요.

8e)


추가: 갑자기 "1C 서버"를 제거해야 하는 경우 다음 단계를 따라야 합니다.

삭제하기 전에 서버 클러스터를 종료해야 합니다.

/etc/rc.d/init.d/srv1cv82 중지


그런 다음 설치의 역순으로 패키지를 제거하여 종속 패키지가 종속된 패키지보다 먼저 제거되도록 합니다.

Rpm -e 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-ws-nls-8.2.16-368.i386 .rpm rpm -e 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-8.2.16-368.i386 .rpm rpm -e 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-common-8.2.16-368.i386.rpm



또는 하나의 범용 명령을 사용하여 모든 rpm 패키지를 제거할 수도 있습니다. 그러면 접두사 "1C_"로 시작하는 설치된 모든 패키지가 제거되고 종속성이 자동으로 추적됩니다.

Rpm -e`rpm -qa|grep 1C_`




9) 보안 키 설치(1C 라이선스)



1C 서버에 키를 연결하는 것은 쉽습니다. 키 제조사 홈페이지에서 드라이버를 다운로드 받아 압축을 풀고 설치를 더블클릭해야 합니다...

드라이버 선택을 위한 팁 -

Rpm -ihv haspd-3.3-eter4scientific.i586.rpm haspd-modules-3.3-eter4scientific.i586.rpm



다음으로 이 서버의 USB 포트에 두 개의 하드웨어 키, 즉 "1C용 키: 엔터프라이즈 서버용 키"와 "X 네트워크 사용자 라이센스용 키"(하나의 물리적 "플래시 드라이브"에 있는 모든 키)를 삽입해야 합니다. 그리고 모든 것이 작동해야 합니다. 클라이언트는 서버를 통해 클라이언트 라이센스를 받게 됩니다.

참고: 키는 "1C 애플리케이션 서버: 엔터프라이즈" 및 "보안 1C 클라이언트 애플리케이션"에만 필요합니다. PostgreSQL DBMS에는 문제가 없습니다. 이는 오픈 소스이며 라이선스나 키가 필요하지 않습니다(MS DBMS와 달리). SQL 서버", 그러나 우리는 그것을 사용하지 않습니다).

참고: 1C의 일부 버전은 키 없이 작동했습니다(베타)...

주목: 라이센스가 없는 "1C 서버"(즉, "서버 키"가 없어도)는 소수의 클라이언트 연결(최대 12개 연결)에서 정상적으로 작동합니다. 이는 아마도 문제 발생 시 초기 구성 및 모니터링과 같은 관리 작업을 용이하게 하기 위해 수행되었을 것입니다. 그러나 이 관리 제한이 초과되면 서버는 새 연결을 거부하고 키를 요구하기 시작합니다.

실험 결과에 따르면..


참고: 그러나 "보안 1C 클라이언트 응용 프로그램"에는 "클라이언트 키"(로컬 또는 네트워크)가 필요합니다. 서버에 대한 첫 번째 연결이든 백 번째 연결이든 상관 없습니다! Windows용 기술 플랫폼 설치 지침 (사진과 영상에서)…

설치 프로그램 "기술 플랫폼"을 출시합니다. 윈도우 버전 8.2.16.368"(버전 8.2에는 32비트만 있음) - 모든 프로그램이 하나의 병에 들어 있습니다. 설치하는 동안 다음 구성 요소를 선택합니다.

  • "1C: Enterprise"(관리, 구성, 씩 및 씬 클라이언트용 구성 요소를 포함하는 "1C: Enterprise"의 주요 구성 요소)
  • "1C: Enterprise - Thin Client"(클라이언트-서버 버전에서만 작동하는 씬 클라이언트 구성 요소, 파일 버전 작업 기능 없음)
  • "1C 서버 관리: 엔터프라이즈"(서버 클러스터 관리를 위한 MMC 콘솔)
  • "다양한 언어의 인터페이스: 영어, 러시아어..." (기본값)



다음 구성 요소는 설치하지 않는다는 점을 강조합니다(이 1C 클라이언트/서버 사용 사례에는 필요하지 않음).

  • "1C: Enterprise - 씬 클라이언트, 파일 버전"(다음을 포함한 씬 클라이언트 구성 요소) 정보베이스의 파일 버전 작업을 위한 구성 요소)
  • "서버 1C: 엔터프라이즈"( 이 기계에는 필요하지 않습니다, 왜냐하면 Linux를 실행하는 다른 호스트에 이미 설치되어 있습니다.... 미래에 Linux뿐만 아니라 Widows도 실행하는 시스템을 포함하는 이기종 "1C 서버 클러스터"를 갖게 되더라도 이 항목은 필요할 것입니다. ..)
  • "웹 서버 확장 모듈"(Windows에서만 작동: Windows용 "1C 서버" + Windows용 IIS 웹 서버, 다른 컴퓨터에서도 가능... 이 모듈을 사용하면 1C 클라이언트 인터페이스가 구축될 웹 사이트를 간단히 구현할 수 있습니다. 웹 페이지로 직접 연결 웹 서버 모듈에서 "1C 서버"로의 연결이 DCOM을 통해 이루어지기 때문에 무겁고 서투른 사이트... 그러나 이점은 의심스럽습니다. 이 쓰레기에는 원격 웹 클라이언트에 연결할 때마다 별도의 본격적인 "클라이언트 키"가 필요합니다! 그러므로 이런 사이트는 널리 퍼질 수 없습니다...)
  • "1C : 엔터프라이즈 구성 스토리지 서버"(구성이 관계형 DBMS가 아닌 파일 형식으로 저장되는 경우 사용됨 - 다중 사용자, 1C 서버 또는 Apache 웹 서버에 대한 작업을 최적화합니다. 리뷰에 따르면: 버기 쓰레기, 그리고 1C는 개발을 포기한 것 같습니다...)
  • “IB 1C: Enterprise 7.7 Converter”(개발자에게만 필요)



"HASP 드라이버 설치"이 컴퓨터에서 라이선스가 부여된 1C를 사용하는 경우 이 작업을 수행합니다. 하드웨어 보호 키가 USB 포트에 연결되거나 네트워크의 "라이선스 관리자"에서 라이선스를 가져옵니다...(알림: 크랙/에뮬레이터를 사용하는 경우 설치 중에 "HASP 보호 드라이버"를 설치하지 마십시오!)

조언: 아무 일도 일어나지 않도록확실하게 하다 올바른 설정 DCOM1C 작업에 사용하는 Windows OS를 실행하는 모든 컴퓨터에서.
DCOM은 dcomcnfg 스냅인을 통해 구성됩니다.지침에 표시된대로 ... (참고: 지침에는 DCOM뿐만 아니라 1Cv8+MSSQL 설치에 대해서도 설명되어 있습니다. 그러나 DCOM을 구성하기 위해 클릭할 위치에 대한 그림에 시각적 설명도 포함되어 있습니다.)

10b)


이제 설치된 소프트웨어 패키지를 직접 작동해 보겠습니다.

MMC 콘솔을 실행합니다. 시작 -> 프로그램 -> 1C: Enterprise 8.2 -> 고급 -> 서버 관리 1C: Enterprise.

콘솔을 통해 "중앙 서버", "클러스터", "작업 서버", "작업 프로세스", "정보 기반" 개체를 순차적으로 생성합니다.기사 "1C Enterprise 서버 관리"...

다음 문서는 약간 오래되고 불완전하지만(MMC 콘솔의 모양, 구성 요소의 생성 순서 및 매개 변수가 변경됨) 이 단계에서 수행해야 할 작업을 설명하는 데 유용할 수도 있습니다.열쇠 없이는 더 이상 작업이 불가능합니다!여기서는 다른 주요 옵션과 질문을 고려하지 않습니다. 이미 이 기사의 범위를 벗어납니다... 활성화할 수도 있습니다. 소프트웨어 라이센스이메일/전화(Linux 드라이버가 지원하는 경우)를 통해 또는 에뮬레이터/크랙을 설정합니다(단, 에뮬레이터는 아직 Linux용으로 구현되지 않았습니다., 그리고 그들은 그렇게 할 것 같지 않습니다. 왜냐하면 별로 필요하지 않음)...

MMC 서버 관리 콘솔을 통해 "정보 베이스"(여전히 비어 있음)가 생성된 후 "구성자" 모드에서 "Thick Client"를 사용하여 여기에 연결하고 응용 프로그램 구성 생성/구성을 시작할 수 있습니다. 지금:

  1. IS Configurator에 연결합니다(클라이언트를 처음 시작할 때 목록에 IS를 추가해야 합니다. "추가" / "목록에 기존 정보베이스 추가" / "1C에서: 엔터프라이즈 서버" / "서버 클러스터" = delldev(서버) 호스트 이름), “클러스터의 정보 보안 이름” = test1c);
  2. 구성을 로드합니다("구성/파일(.cf)에서 구성 로드"... 그런 다음 확인 요청과 함께 구성을 병합하고 데이터베이스를 재구축하는 긴 프로세스가 발생합니다).
  3. 실제 자격 증명 가져오기(메뉴 항목 "관리/정보 기반 로드" - 데이터가 이전에 서비스 요구에 사용되는 "정보 보안 파일 버전"에 업로드된 경우)
    참고: 이 항목을 "정기 백업에서 PostgreSQL 데이터베이스 복원"과 혼동하지 마십시오. 이 프로세스는 전체 데이터베이스 클러스터에 대해 PostgreSQL DBMS 서버에서 수행됩니다. 현재 DBMS 서버에 저장된 모든 정보 기반에 대해... 이는 서버 오류가 발생하거나 기존 서버를 새 하드웨어로 마이그레이션할 때 수행되는 거칠고 야심찬 작업입니다...
  4. 시스템 사용자 및 해당 역할을 구성합니다(메뉴 항목 "관리/사용자"... "관리자" 사용자를 생성하고 해당 사용자에 대해 가능한 모든 역할을 활성화해야 함).



그리고 애플리케이션 구성을 다운로드하고 구성하면 다양한 클라이언트(씩, 씬, 웹)에 연결하여 애플리케이션 문제를 사용하고 해결할 수 있습니다...

그게 다야! 관심을 가져주셔서 감사합니다!


"1C: Ubuntu 10.04의 Enterprise / PostgreSQL 9.0 설치", 여기...

공유하다