Casa / Social networks / Installazione di 1c sul server Ubuntu. Attivazione della licenza software

Installazione di 1c sul server Ubuntu. Attivazione della licenza software

Negli ultimi anni, l'interesse per i sistemi operativi alternativi, principalmente Linux, è cresciuto, non solo da parte degli utenti, ma anche da parte degli sviluppatori. 1C ha sviluppato la sua piattaforma per l'uso in ambiente Linux da molto tempo e ora i produttori hanno iniziato a recuperarla attrezzature commerciali, rilasciando anche i driver per questo sistema operativo. Pertanto, l'uso di Linux come piattaforma per il posto di lavoro sembra sempre più attraente e oggi riassumeremo la nostra esperienza e parleremo dell'installazione della parte client di 1C:Enterprise nell'ambiente delle moderne versioni di Debian / Ubuntu.

Poiché i requisiti per le versioni correnti di 1C: Accounting includono la versione minima della piattaforma 8.3.12.1529, installeremo ultima versione piattaforme 8.3.12 - 8.3.12.1685 e quindi aggiornalo a 8.3.13.1513 , tuttavia, tutto quanto detto sarà rilevante per tutte le versioni attuali della piattaforma 8.3.

Per l'installazione utilizzeremo le seguenti versioni di sistemi operativi e ambienti di lavoro: Debian 9.5(Gnomo 3) Ubuntu 16.04.5LTS(Unità) e Xubuntu 18.04.1LTS(XFCE 4). Abbiamo scelto specificamente diversi ambienti di lavoro per valutare il loro impatto sul processo di installazione, ma diciamo subito che l'ambiente di lavoro scelto non ha molta influenza, ad eccezione di un set di pacchetti preinstallato, quindi cercheremo di dare il istruzioni più dettagliate, che in molti casi risulteranno ridondanti.

Inoltre, questo articolo sarà rilevante per tutte le distribuzioni di derivati ​​Debian / Ubuntu, adattato per le versioni dei pacchetti, per questo fare riferimento alla documentazione della tua distribuzione.

Piattaforma 8.3.12 e precedenti

Prima di tutto, installiamo tutte le dipendenze necessarie. Diverse versioni del sistema operativo e dell'ambiente di lavoro hanno un diverso set di pacchetti installati per impostazione predefinita, quindi forniremo un'opzione universale e se visualizzi un messaggio come:

quindi non preoccuparti, questo significa che questo pacchetto è già sul tuo sistema e puoi procedere al passaggio successivo.

Se stai usando Debian, quindi ti consigliamo di connettere tutti i repository, per fare ciò, apri /etc/apt/sources.list e aggiungi dopo principale in ogni riga contributo e non libero.

Quindi aggiorna l'elenco dei pacchetti:

aggiornamento azzeccato

e installa:

apt install libwebkitgtk-3.0-0
apt install ttf-mscorefonts-installer
apt install libfontconfig1
apt install libgsf-1-114
apt install libglib2.0-0
apt install libodbc1

Alcuni dei pacchetti che potresti aver già installato, questo è normale, abbiamo deliberatamente intrapreso la strada della ridondanza, per il bene della versatilità di questo materiale.

Il seguente pacchetto dovrebbe essere installato per impostazione predefinita ma dovrebbe essere controllato per ogni evenienza.

Per Ubuntu 16.04:

apt install libmagickwand-6.q16-2

Per Debian 9 e Ubuntu 18.04:

apt install libmagickwand-6.q16-3

Per installare la versione client della piattaforma, dovrai scaricare due archivi dal sito web di 1C: Client 1C: Enterprise per sistemi Linux basati su DEB e Server 1C: Enterprise per sistemi Linux basati su DEB. Si noti che il bit degli archivi scaricati deve corrispondere al bit del sistema, non vediamo una particolare necessità di utilizzare i sistemi x32 (i386), pertanto, in futuro, se non diversamente specificato, tutte le azioni verranno eseguite per il x64 ( amd64) piattaforma.

Analizziamo brevemente la composizione degli archivi, la consegna del cliente prevede i seguenti pacchi:

  • cliente- applicazioni client (thick client e thin client) "1C:Enterprise"
  • thin client- 1C: thin client aziendale (non supporta la versione del file base informativa)

Nel server:

  • Comune- componenti comuni di 1C:Enterprise
  • server- 1C: componenti del server aziendale
  • v- adattatore per la pubblicazione di servizi Web 1C:Enterprise su un server Web basato su Apache HTTP Server 2.0, 2.2 o 2.4

Anche nella consegna sono presenti pacchi con suffissi -nls, contengono risorse linguistiche diverse da Lingue russo e inglese, quindi se non ne hai bisogno, la loro installazione è facoltativa, nel nostro esempio le installeremo (basato sul principio della ragionevole ridondanza, poiché il nostro blog viene letto non solo in Russia).

Creare cartella separata e copia lì i pacchetti cliente dalla fornitura e dai pacchi del cliente Comune e server dalla consegna del Server, di conseguenza, con -nls, dovresti avere sei pacchetti:


Ora apriamo la console e andiamo alla cartella dei pacchetti, il modo più semplice per farlo è fare clic destro su di essa e selezionare Apri nel terminale:


Aumenta i diritti di superutente e installa i pacchetti con il comando:

dpkg -i 1c*.deb

Quindi troviamo l'icona 1C nel menu e avviamo l'applicazione, tutto dovrebbe funzionare.


Per completare il processo, disabiliteremo l'avvio automatico del servizio server 1C, che non è necessario per il funzionamento del client, questo è facoltativo, ma auspicabile per motivi di risparmio di risorse e sicurezza, per questo faremo:

Systemctl disabilita srv1cv83

Come puoi vedere, non c'è nulla di complicato nell'installazione della piattaforma client 1C:Enterprise su Linux. È sufficiente seguire le istruzioni e installare tutte le dipendenze necessarie.

Piattaforma 8.3.13 e bug con libpng12

Durante l'installazione o l'aggiornamento alla piattaforma 8.3.13, la versione corrente per oggi è 8.3.13.1513, è possibile che si verifichi una situazione in cui 1C si rifiuta di avviarsi, questo errore si manifesta in Debian 9 e Ubuntu 18.04.

Se eseguiamo l'applicazione dalla console, vedremo un errore:

Dopo di che tutto va a posto. Nelle nuove distribuzioni, la libreria libpng12 sostituito libpng16, ma 1C continua a cercare la vecchia libreria (e solo l'ultima release 8.3.13), lasciamolo nella coscienza degli sviluppatori 1C.

Cosa fare? Scarica il pacchetto richiesto dal repository Debian 8 o Ubuntu 16.04. Direttamente sul sistema, questo può essere fatto con il comando (per sistemi x64):

Wget http://ftp.ru.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb

Per i sistemi a 32 bit, un comando simile sarebbe:

Wget http://ftp.ru.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb

Quindi installa il pacchetto:

dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb

o per 32 bit:

dpkg -i libpng12-0_1.2.50-2+deb8u3_i386.deb

Dopodiché, 1C ricomincerà a funzionare.

Attivazione della licenza software

Il principale tipo di protezione per le moderne configurazioni 1C è una licenza software, quindi in questo articolo non toccheremo le chiavi HASP. Come hanno dimostrato le recensioni, molti hanno difficoltà ad attivarsi licenza del software sulla piattaforma Linux, quindi tocchiamo brevemente una funzionalità.

Se esegui l'infobase in modalità 1C:Enterprise, riceverai un messaggio che indica che non è stata trovata una licenza e il programma non ti chiederà nemmeno di inserire una licenza.

Inoltre, durante l'installazione, non dimenticare di selezionare la casella di controllo accanto per installare ssh-server (se necessario) e samba-server (è necessario 1C) :)

1) Preparazione:

Configurare la rete, utilizzeremo l'indirizzamento statico:

Sudo vi /etc/network/interfaces

Auto eth0 iface eth0 inet indirizzo statico 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameserver 192.168.1.4 192.168.1.6

dove, auto eth0 dice al sistema che l'interfaccia eth0 deve essere abilitata automaticamente all'avvio del sistema con le seguenti opzioni.

iface eth0 inet static Indica che eth0 sta usando un'interfaccia statica. Se viene utilizzato un server DHCP, scriviamo invece di static - dhcp.

Dal 12.04, il programma è responsabile della configurazione DNS risoluzione conf(invece di file /etc/risolv.conf) pertanto, se non viene utilizzato un server DHCP, è necessario inserire i server DNS per le interfacce statiche /etc/rete/interfacce usando i parametri dns-nameserver, dns-search e dns-domain, corrispondente ai parametri server dei nomi, ricerca e dominio in risolvere.conf.

Riavvio del servizio:

sudo /etc/init.d/networking restart

Aggiornato:

Aggiornamento sudo apt-get

sudo apt-get dist-upgrade

Installa Midnight Commander (mc)

sudo apt-get install mc

2. Installazione e configurazione del server di database PostgreSQL

Per comodità, per non digitare ogni volta sudo passa alla modalità root:

Installiamo i pacchetti necessari per corretto funzionamento PostgreSQL:

apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

Scarica l'ultima versione stabile di PostgreSQL da qui.

Installa i pacchetti con il comando:

Successivamente, l'utente postgres apparirà nel sistema, verrà creato lo script /etc/init.d/postgresql per avviare e arrestare il DBMS.

Successivamente, diamo i diritti alla cartella pgsql all'utente e al gruppo postgres:

Chown postgres:postgres /var/lib/pgsql

Imposta una password per l'utente postgres:

passwd postgres

Modifichiamo /etc/group, dove cambiamo l'ID del gruppo esistente tape:x:26: in un altro, ad esempio 27:). Di conseguenza, dovrebbero esserci le seguenti righe:

Postgres:x:26: nastro:x:27:

Iniziamo il servizio con un comando, specifichiamo il valore della variabile LANG. Necessari per la creazione iniziale del database:

LANG=ru_RU.utf-8 servizio postgresql inizio

Potrebbero giurare che il valore Shmmax corrente è troppo piccolo per eseguire PostgreSQL e offrirsi di specificarne uno, ma faremo in modo più intelligente e utilizzeremo il seguente script, che calcolerà e visualizzerà la dimensione richiesta di Shmmax e Shmall in byte.

SHMMAX è la dimensione massima (in byte) su un segmento di memoria condivisa pari alla metà di tutta la memoria disponibile sul server.

SHMALL è la quantità totale di memoria condivisa (in pagine) che tutti i processi sul server possono utilizzare.

Quindi scrivi i valori ricevuti usando il comando:

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

Oppure scriviamo manualmente in /etc/sysctl.conf. Per rendere effettive le modifiche, digitare:

Alter user postgres con password "YOUR_PASSWORD";

Digitare \q per uscire dalla console.

Il file /var/lib/pgsql/data/pg_hba.conf si presenta così:

#Connessioni locali IPv4: ospita tutti i postgres 0.0.0.0/0 md5

Configurazione principale /var/lib/pgsql/data/postgresql.conf modifica in base ai seguenti dati: Impostazione media dei parametri più importanti:

Shared_buffers = 1/8 RAM o più (ma non più di 1/4) work_mem = 1/20 RAM Maintenance_work_mem = 1/4 RAM max_fsm_relations = numero pianificato di tabelle del database * 1,5 max_fsm_pages in max_fsm_relations * 2000; fsync = true wal_sync_method = fdatasync commit_delay = da 10 a 100 commit_siblings = da 5 a 10 Effective_cache_size = 0,9 del valore memorizzato nella cache che mostra random_page_cost gratuito = 2 per cpu veloce, 4 per cpu_tuple_cost lenta = 0,001 per cpu veloce, 0,01 per cpu_index_tuple_cost lento = 0,0005 per veloce cpu, 0,005 per lento

Per ottimizzare le impostazioni per massima performance, puoi provare a usare l'utilità pgtune.

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

Tar xvfz *.tar.gz

Andiamo nella directory con pgtune, eseguiamo il comando:

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

-io- percorso dell'input, file delle impostazioni correnti postgresql.conf,

-o— percorso dell'output, nuovo file di impostazioni postgresql.conf.

Come risultato dell'esecuzione del comando, otterremo un file di impostazioni identico a quello originale, ad eccezione di alcuni nuovi parametri pg_tune alla fine del file.

$ PGDATAè una variabile che punta a /var/lib/pgsql/data. Se non è impostato, è possibile specificare in /ecc/ambiente.

Per informazioni più complete sulla configurazione di postgresql.conf, vedere Etersoft o in relazione a 1C sul sito Web di Vecheslav Gilev. Per coloro che vogliono approfondire il processo di apprendimento di PostgreSQL, c'è un manuale meraviglioso e dettagliato di Alexey Vasiliev. :)

I comandi Postgresql più comunemente usati sono:

Cambia la password di root:

ALTER USER postgres CON PASSWORD 'newpassword';

3. Installazione di 1C Enterprise 8

Per il corretto funzionamento del server 1C Enterprise, installare i seguenti pacchetti:

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

Scarichiamo la piattaforma tecnologica 1C8.2 per Linux (Debian / Ubuntu) dal sito web 1C.

I pacchetti devono essere installati nel seguente ordine. ci sono dipendenze.

Se installi tutto in una volta tramite la maschera, potrebbero verificarsi errori.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // componenti server comuni
2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // risorse nazionali per le componenti comuni
3) 1c-enterprise82-server_8.2.15-319_amd64.deb // Server 1C: enterprise 8.2 per Linux
4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // Risorse nazionali per il server 1C
5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // adattatore per la pubblicazione di servizi Web 1C:Enterprise 8 su un server Web basato su Apache HTTP Server 2.0 o Apache HTTP Server 2.2;
6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // Risorse nazionali per i componenti del servizio Web 1c8.2

Aggiungi al caricamento automatico:

Aggiorna-rc.d srv1cv82 impostazioni predefinite

L'utente usr1cv82 può scrivere in /opt/1C e /home/usr1cv82

Chown -R usr1cv82:grp1cv82 /opt/1C

Chown -R usr1cv82:grp1cv82 /home/usr1cv82

Riavviamo il server. Verifichiamo la correttezza dell'avvio del servizio:

Stato del servizio srv1cv82

Dovrebbe apparire:

Script di inizializzazione: AVVIATO Ragent: IN ESECUZIONE

Sul firewall, se utilizzato, le seguenti porte devono essere aperte affinché il server 1C funzioni: tcp: 1540 - server agent (ragent) tcp: 1541 - main cluster manager (rmngr) tcp: 1560-1591 - intervallo di porte di rete per distribuzione dinamica dei processi di lavoro. (apri 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 multiporta --dports 1560:1591 -j ACCEPT

Verifica dello stato di salute dei processi di lavoro del server:

netstat -tlnp | grep:15

Dovresti ottenere qualcosa come questa immagine:

tcp 0 0 0.0.0.0:1560 0.0.0.0:* ASCOLTA 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* ASCOLTA 2799/ragent rmngr

Ma otteniamo quanto segue:

Tcp 0 0 0.0.0.0:1540 0.0.0.0:* ASCOLTA 960/ragente

Puoi anche visualizzare i processi in esecuzione usando il comando:

Dovresti ottenere qualcosa del genere:

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

Ma solo iniziazioni rabbiose:

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

Sfortunatamente, ballare con un tamburello non ha portato a nulla, i diritti sono impostati correttamente ovunque e la rete è configurata correttamente. L'ho cercato su Google con la quindicesima versione, molti hanno problemi simili, ma ho solo 8.2.15-319. E 318 mi ricordo che ha funzionato :) Ho deciso di provare l'ultimo al momento della stesura della recensione 8.2.16.362 ed ecco, la prima volta che tutto si è avviato come dovrebbe.

Ora è necessario verificare la corretta installazione dei componenti che abbiamo installato all'inizio utilizzando lo script di controllo:

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

Se non riceviamo alcun messaggio, ma un file type.xml appare nella directory /opt/1C/v8.2/x86_64/conf/grcmncfg, allora è tutto a posto, nel mio caso, lo script dà un sacco di errori. Il primo messaggio dice che non è possibile accedere ad alcuni file libc.

Impossibile accedere a /lib/libc-*.so: nessun file o directory di questo tipo Impossibile accedere a /lib64/libc-*.so: nessun file o directory di questo tipo

Vediamo dove si trova effettivamente questo file:

Trova / -name "libc-*.so" -print

Otteniamo il seguente output:

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

Non sorprende che lo script non lo trovi, creiamo due collegamenti simbolici a turno:

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

Dopodiché, esegui di nuovo lo script. L'errore di "accesso" scompare, ma rimane quanto segue:

./server_config: riga 193: [: troppi argomenti ./server_config: riga 193: [: troppi argomenti ./server_config: riga 193: [: troppi argomenti ./server_config: riga 193: [: troppi argomenti ./ config_server: riga 193: [: troppi argomenti

La riga 193 contiene la voce seguente, che indica un poll della variabile $SYSTEM_LIB_PATH, che apparentemente dovrebbe contenere le librerie di cui hai bisogno.

[! -e $aliasFullName ] && return 1

Vediamo cosa esattamente lo script non è in grado di rilevare, esegui:

echo $aliasNomeCompleto

Noi abbiamo:

Impossibile rilevare SYSTEM_LIB_PATH, impostare manualmente questa variabile di ambiente!/libWand.so Impossibile rilevare SYSTEM_LIB_PATH, impostare manualmente questa variabile di ambiente!/libfreetype.so Impossibile rilevare SYSTEM_LIB_PATH, impostare manualmente questa variabile di ambiente!/libgsf- 1.quindi Impossibile rilevare SYSTEM_LIB_PATH, impostare manualmente questa variabile di ambiente!/libglib-2.0.so Impossibile rilevare SYSTEM_LIB_PATH, impostare manualmente questa variabile di ambiente!/libodbc.so

A quanto ho capito, SYSTEM_LIB_PATH dovrebbe trovare i file che stai cercando in tre possibili directory:

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

Inoltre, devi impostare manualmente SYSTEM_LIB_PATH in /etc/environment. Ad esempio, lascia che cerchi le librerie solo in /usr/lib/

SYSTEM_LIB_PATH="/usr/lib"

Riavviamo il server, eseguiamo nuovamente lo script, otteniamo quanto segue:

/usr/lib/libWand.so /usr/lib/libfreetype.so Installa il seguente pacchetto: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so Installa il seguente pacchetto: libglib /usr /lib/libodbc.so Installa il seguente pacchetto: UnixODBC

File libWand.so e libgsf-1.so sono dove servono. Altri file libfreetype.so, libglib-2.0.so e libodbc.so sono in /usr/lib/x86_64-linux-gnu. Di conseguenza, facciamo di nuovo smlink:

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

Eseguiamo di nuovo lo script, ora vediamo che tutte le librerie si trovano nelle directory di cui abbiamo bisogno.

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

Sul client, se Windows, vai alla console di gestione dei server 1CV8 (Amministrazione dei server 1C Enterprise). Fare clic, aggiungere Central Server 1C: Enterprise 8.2, aggiungere per nome. Una voce dovrebbe apparire nella scheda dei server di lavoro. Creiamo un nuovo database, sia direttamente utilizzando la console di gestione, sia nel client 1C stesso, selezioniamo l'opzione:

Aggiungi una nuova base di informazioni.

Iniziamo 1C. Il test di Gilev dà 13,05 punti.

Per quanto riguarda le chiavi HASP, se fino a 12 utenti, è necessaria solo una chiave di rete con un contrassegno di tipo NETXX ORGL8, dove XX è il numero di licenze client. Se più di 12 utenti, ma è necessaria anche una chiave locale per il server. Un dongle HASP HL ​​viola con marcatura del tipo ENSR8 per un server a 32 bit, o un dongle HASP HL ​​Max verde con marcatura ENS8SA per un server a 64 bit. Il dongle HASP HL ​​Max supporta anche un server a 32 bit.

Per il normale funzionamento delle chiavi HASP, è necessario installare due pacchetti che includono il driver della chiave aksusbd e il gestore delle licenze hasplm. Ha senso installare versioni modificate dei driver da Entersoft. Affinché haspd funzioni correttamente, è necessario il supporto del software a 32 bit.

Pertanto, lo aggiungiamo installando il pacchetto ia32-libs.

apt-get install ia32-libs

Ora HASP stesso e il gestore delle licenze:

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

Inseriamo la chiave, sovraccarichiamo il server. Verifichiamo la funzionalità dei tasti con il comando:

stato del servizio sudo haspd

Deve essere in esecuzione: aksusbd, winehasp, hasplm, hasplmd.

4. Pubblica su un server web

Installa apache:

apt-get install apache2

Modifichiamo /etc/apache2/apache2.conf , dove impostiamo la direttiva ServerName che punta al nome del server.

Nomeserver "ubuntus12"

In caso contrario, all'avvio di Apache, riceviamo il seguente messaggio:

Httpd: impossibile determinare in modo affidabile il nome di dominio completo del server, utilizzando 127.0.0.1 per ServerName

Nella directory principale del sito, creare la directory di base, dove base è il nome della base a cui forniremo l'accesso.

Mkdir /var/www/base

Ora dobbiamo eseguire uno script speciale per pubblicare il database sul server web:

Vai a /opt/1C/v8.2/x86_64/ Esegui lo script con i seguenti parametri:

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

Verifichiamo la correttezza delle modifiche apportate. /etc/apache2/httpd.conf dovrebbe contenere le seguenti righe:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c pubblicazione Alias ​​"base" "/var/www/base/" AllowOverride Nessuno Opzioni Nessuno Ordina consenti, nega Consenti da tutti SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"

In /var/www/base/ dovrebbe apparire anche il file default.vrd, le cui ultime due righe dovrebbero assomigliare a questa:

Base="/base" ib="Srvr="ubuntus12";Ref="base";

Concedi i permessi alla directory, riavvia Apache:

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

servizio apache2 riavvio

Andiamo al browser, dopo aver disabilitato le finestre pop-up.

http://ubuntus12/base

E otteniamo il seguente messaggio:

E, naturalmente, senza una chiave di rete speciale, non funzionerà :)

5. Backup e recupero:

Diamo i diritti all'utente postgres sulla cartella in cui caricheremo il backup.

Chown postgres:postgres /mnt/net

A /mnt/netto Ho una condivisione Windows montata, usando il comando:

Monta -t smbfs -o username=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

Smonta, chiudendo forzatamente tutte le connessioni se necessario:

Importo -l /mnt/net

Backup (Backup):

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

U (utente)
-F (estratto formato file)
c (personalizzato - formato di compressione interno pg_dump, sono anche possibili varianti tar e testo normale)
-Z (imposta la modalità di compressione)
0 - 9 (0 - nessuna compressione, 9 - modalità massima)
-f (estratto in questo file)

Se si esegue il caricamento su una condivisione Windows, è necessario l'accesso completo per gli utenti.

Recupero (solo dall'utente postgres): Alla nuova base:

Createdb -T template0 newdb

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

Voce Crontab (dall'utente postgres):
su postgres
crontab -e //aggiungi un lavoro
crontab -l // visualizza i lavori
crontab -r //cancella lavoro

# inizia alle 18:50 minuti

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

# esegui ogni 15 minuti

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

Come sapete, il 4 luglio è stato rilasciato 1C nuova piattaforma versione 8.3. Oltre a correggere bug e aggiungere nuove funzionalità, questa versione della piattaforma ha portato anche una funzionalità tanto attesa: il lavoro nativo in ambiente Linux.

Tuttavia, ci sono una serie di insidie ​​durante l'installazione (soprattutto per i nuovi utenti di Linux) che renderanno l'installazione difficile e potrebbero creare un'impressione negativa della nuova modalità di funzionamento.

Cercherò di descrivere nel modo più dettagliato possibile il processo di installazione di questa piattaforma sul kit di distribuzione più popolare: Ubuntu 12.04.

Quindi il primo passo è scaricare la piattaforma stessa dal sito web di 1C. La distribuzione si trova a . Dall'intero elenco, devi scaricare 2 pacchetti (abbiamo una distribuzione a 64 bit):

Se hai una distribuzione a 32 bit, dovrai scaricare i pacchetti a 32 bit. Tieni presente che il download dei collegamenti sopra indicati richiede un abbonamento ITS valido. È anche probabile che questi pacchetti saranno disponibili sui dischi ITS (sebbene non sia un dato di fatto, poiché il rilascio è di natura valutativa).

Quindi, scarica due pacchetti nella cartella Download (in generale, puoi scaricare in qualsiasi cartella nella tua home directory). Quindi vai in questa cartella gestore di file Nautilus, fai clic con il pulsante destro del mouse su client.deb64.tar.gz e seleziona menù contestuale"Estrarre qui." Fai lo stesso con il file deb64.tar.gz.

Di conseguenza, nella cartella con i file scaricati verranno visualizzate 2 cartelle: client.deb64 e deb64. È qui che arriva la fase più difficile per i principianti, poiché il modo più semplice per installare i programmi è utilizzare il Terminale (console). Per fare ciò, chiama il programma Terminale. Il modo più semplice per visualizzare il menu Dash (in alto tasto sinistro Unity analogo del pulsante Start in Windows) e nella barra di ricerca, digita le prime due lettere del programma Ter o la parola completa Terminale.

Avvia terminale. In futuro, puoi semplicemente copiare i comandi da questo testo sul Terminale. Prima di tutto, vai nella cartella dei pacchetti decompressi nel terminale (ti ricordo che questa è la cartella Download qui. Un modo molto comodo per ridurre l'input in qualsiasi terminale Linux è il tasto Tab. Premendolo, completi il comando Linux stesso ti chiede con le opzioni):

cd Download/deb64/(premere Invio)

Con questo comando ci siamo spostati nella directory deb64. Quindi, nel terminale, inserisci il comando per installare tutti i pacchetti da questa cartella:

sudo dpkg -i 1c-* e premere il tasto Invio

La console ti chiederà una password e dopo averla inserita, installerà i pacchetti 1C nella cartella /opt/1 °C/v8.3/x86_64/ (l'ultima cartella sarà diversa se è installata la versione a 32 bit ). Successivamente, devi entrare nella cartella /home/leo/Downloads/client.deb64 per fare ciò, digita:

CD. (Accedere)

cd Download/client.deb64(Accedere)

Anche qui esegui il comando sudo dpkg -i 1c-* e inserisci la password (tuttavia, la console ricorderà la password precedentemente inserita per un paio di minuti e potrebbe non essere necessario inserirla nuovamente).

Dopo il download, dovresti eseguire uno script di configurazione che verificherà se tutte le dipendenze richieste sono installate e ti chiederà se è necessario installarle. Oltre ad

Questo script ti chiede di installare il catalogo dei caratteri necessari per il funzionamento di 1C.

sudo /opt/1 °C/v8.3/x86_64/utils/config_system /usr/share/fonts/

Il mio lancio di questo comando ha giurato sull'assenza di due pacchetti:

Si prega di installare il seguente pacchetto: libgsf

Si prega di installare il seguente pacchetto: UnixODBC

Per installarli, inserisci i comandi:

sudo apt-get install libgsf-bin

sudo apt-get install unixodbc-bin

Tuttavia, non è tutto. Quando si esegue nuovamente lo script di test, viene visualizzato il seguente messaggio:

Nessuna utilità di conversione truetype trovata!

Si prega di installare ttf2afm o ttf2pt1!

Una ricerca nella directory di Ubuntu non ha prodotto alcun risultato, tuttavia, ho trovato il pacchetto richiesto su Internet, l'ho scaricato nella cartella Download, ci ho fatto clic destro e ho selezionato la voce di menu "Apri in Ubuntu Software Center". Successivamente, nell'Application Center, seleziona la voce "Installa".

Puoi trovare questo pacchetto per nome:

OK è tutto finito adesso. Resta solo da installare la chiave. La versione Linux funziona sia con protezione hardware che software. ho comprato protezione del software, tuttavia, parleremo dell'installazione di una licenza software nel prossimo articolo.

Per quanto riguarda la protezione hardware, dovrai scaricare e installare il driver della chiave hardware.

In questo articolo cercherò di parlare dell'installazione del server 1C e del server PostgreSQL sistema operativo Ubuntu 16.04/18.04. L'articolo utilizza la versione del server 1C - 8.3.13.1472 e la versione PostgreSQL - 10.3-2.1C. Inoltre, l'articolo fornisce informazioni su alcune impostazioni aggiuntive.

Installazione di PostgreSQL

Innanzitutto è necessario installare le impostazioni locali richieste e definire la locale predefinita. Le impostazioni locali determinano le lingue utilizzate nel sistema, nonché tutti i tipi di funzionalità regionali: formati numerici, date e orari, banconote e così via. La locale predefinita deve corrispondere alla lingua del database che verrà creato dal server 1C durante la creazione di un'infobase.

sudo dpkg-reconfigure locali


sudo apt-get install libicu55

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.4_amd64.deb

sudo dpkg -i libicu55_55.1-7ubuntu0.4_amd64.deb

In precedenza, il pacchetto postgresql-common faceva parte del pacchetto di distribuzione ospitato sul sito Web 1C, ma ora (a partire da PostgreSQL 9.6.3-1.1C) questo pacchetto deve essere installato da repository standard.

Qui c'è una piccola difficoltà legata al fatto che stiamo installando PostgreSQL 10: nel momento in cui scriviamo, il repository standard contiene una versione del pacchetto “postgresql-common” che non è adatta a PostgreSQL 10.

Per risolvere questo problema, devi creare un file /etc/apt/sources.list.d/pgdg.list e scriverci una riga, per Ubuntu 16.04:

deb http://apt.postgresql.org/pub/repos/apt/xenial-pgdg main

per Ubuntu 18.04:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Quindi è necessario eseguire i seguenti comandi:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt key add -

sudo apt-get update

Successivamente, possiamo installare la versione del pacchetto "postgresql-common" di cui abbiamo bisogno:

sudo apt-get install postgresql-common

Il lavoro preparatorio è terminato, scarichiamo il kit di distribuzione di PostgreSQL 10 dal sito web di 1C, lo scompattiamo (ci sono solo tre pacchetti) e lo installiamo in questo ordine:

sudo dpkg -i libpq5_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb

Se tutto è andato bene, sarà simile a questo:


Configurazione di PostgreSQL

Dopo l'installazione, puoi effettuare alcune impostazioni di PostgreSQL.

Per conto del superutente, apri il file /etc/postgresql/10/main/pg_hba.conf e modifica la riga al suo interno:

locale tutti i peer postgres

local all postgres trust

Ciò ti consentirà di accedere come utente. postgres senza password.

Inoltre, puoi aprire il file /etc/postgresql/10/main/postgresql.conf (anche per conto di super utente) e cambia la riga al suo interno:

listen_addresses = "*"

listen_addresses = "localhost"

Ciò limiterà le connessioni a PostgreSQL alla macchina locale. Pertanto, se il server 1C e PostgreSQL si trovano su computer diversi, non è necessario eseguire questa operazione o invece di "*" è necessario specificare l'indirizzo IP del server 1C.

Dopo tutte queste manipolazioni, riavviamo il server PostgreSQL:

Ora abbiamo la possibilità di cambiare la password del superutente postgres:

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD "password""

Disabilitiamo l'accesso senza password: ancora, per conto del superutente, apriamo il file /etc/postgresql/10/main/pg_hba.conf e cambiamo la riga in esso:

local all postgres trust

local all postgres md5

Infine, riavvia nuovamente il server:

riavvio del servizio sudo postgresql

Installazione del server 1C

Devi iniziare, come al solito, installando librerie aggiuntive:

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

Per la versione 8.3.13 e successive, viene utilizzata la libreria ImageMagick inclusa nella distribuzione, quindi installa il pacchetto immagine magica non necessariamente (anche se non farà male).

Pacchetto ttf-mscorefonts-installer Durante il processo di installazione, ti verrà chiesto di accettare il contratto di licenza:


Al momento della scrittura, i repository di Ubuntu 18.04 non disponevano di versioni aggiornate dei pacchetti richiesti. Se non sono ancora disponibili, puoi provare ad aggiungere repository con versioni del pacchetto obsolete. Crea un file /etc/apt/sources.list.d/raring.list e scrivi le seguenti righe:

deb http://old-releases.ubuntu.com/ubuntu/ raring multiverso principale dell'universo limitato
deb-src http://old-releases.ubuntu.com/ubuntu/ raro multiverso universo limitato principale
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates multiverso universo con restrizioni principali
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates multiverso dell'universo con restrizioni principali
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports universo limitato principale multiverso
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports multiverso dell'universo con restrizioni principali
deb http://old-releases.ubuntu.com/ubuntu/ multiverso principale dell'universo limitato proposto da raring
deb-src http://old-releases.ubuntu.com/ubuntu/ multiverso dell'universo limitato principale proposto da raring

Dopodiché esegui il comando:

sudo apt-get update

Dopo aver installato librerie aggiuntive, scaricare tutti i file necessari dal sito Web 1C (Server 1C: Enterprise (64-bit) per sistemi Linux basati su DEB) e installarli in questo ordine:

sudo dpkg -i 1c-enterprise83-common_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.13-1472_amd64.deb

I pacchetti con il prefisso "-nls" sono necessari per supportare lingue aggiuntive e non devono essere installati. I pacchetti con il prefisso "-ws" sono necessari per il funzionamento del client Web e non sono nemmeno richiesti.

Ora cambiamo il proprietario della directory /opt/1C:

sudo chown -R usr1cv8:grp1cv8 /opt/1C

E avvia il server 1C:

sudo service srv1cv83 start


Se la tua rete è configurata correttamente e i computer possono vedersi, non è necessario fare altro. In caso contrario, è necessario assicurarsi che il server 1C veda il server PostgreSQL e le macchine client vedano il server 1C. Per fare ciò, è necessario aggiungere le seguenti righe ai file /etc/hosts o C:\Windows\System32\drivers\etc\hosts:

<результат команды hostname -f> <результат команды hostname>

I separatori devono essere spazi, non tabulazioni.

Altre impostazioni

Tutti i passaggi seguenti sono facoltativi.

Installazione di Apache

A partire dalla versione 8.3.8, la piattaforma 1C supporta Apache 2.4, quindi puoi semplicemente installarlo Versione attuale:

sudo apt-get install apache2

Se per qualche motivo hai bisogno di Apache 2.2, allora devi prima aggiungere repository con versioni di pacchetti obsolete, come descritto sopra (a meno che, ovviamente, tu non l'abbia già fatto). Quindi esegui il comando:

sudo apt-cache showpkg apache2

I comandi visualizzeranno un elenco di versioni disponibili per l'installazione, quindi, selezionando la versione desiderata, procedere come segue:

sudo apt-get install apache2=<номер версии>

Per esempio:

sudo apt-get install apache2=2.2.22-6ubuntu5.1

Puoi controllare la versione di Apache in questo modo:

Abilita il debug sul server

Arresto del server:

sudo servizio srv1cv83 stop

Nel file /etc/init.d/srv1cv83 troviamo la riga:

Ricordiamolo:

Avviamo il server:

sudo service srv1cv83 start

Nel configuratore sulla macchina client, vai su "Impostazioni" -> "Avvia 1C:Enterprise" -> "Aggiuntivo" e abilita due voci:

  • "Imposta modalità autorizzazione debug"
  • "Avvia il debug all'avvio"

Impostazione UFW

UFW è una semplice utility per configurare il firewall Netfilter.